Skip to content
Sharp

Object-oriented programming · interview question

In a class representing an e-commerce order, you want to ensure that the quantity of items is never negative. Which approach should you take to enforce this invariant?

Multiple choiceHardchapter-3-curatedpremiumoopinvariants-and-validation
java
class Order {
  private int quantity;
  public Order(int quantity) {
    if (quantity < 0) throw new IllegalArgumentException("Quantity cannot be negative");
    this.quantity = quantity;
  }
  public void setQuantity(int quantity) {
    if (quantity < 0) throw new IllegalArgumentException("Quantity cannot be negative");
    this.quantity = quantity;
  }
}
Choose one answer
Answer and explanation

Correct answer

D. Use a private field for quantity and validate it in the constructor and all modifying methods.

Why

Using a private field ensures that the quantity can only be accessed and modified through controlled methods. By validating in the constructor and all modifying methods, the class enforces its invariants, maintaining integrity.

Test yourself on Object-oriented programming

A free test with instant, explained results. No account needed.

Start free test
All Object-oriented programming questions →