Object-oriented programming · interview question
Consider a Product class in an e-commerce application. Which design choice best ensures that the product's price is always valid and never negative?
Multiple choiceMediumchapter-3-curatedpremiumoopinvariants-and-validation
Answer and explanation
Correct answer
A. Validate the price in the constructor and provide a setter that also validates the price.
Why
By validating the price in both the constructor and the setter, you ensure that the class invariant is maintained, regardless of how the price is set. Direct access bypasses encapsulation, and relying on external checks is error-prone.
Test yourself on Object-oriented programming
A free test with instant, explained results. No account needed.
More Object-oriented programming questions
- In a typical e-commerce application, how should a CartItem object access the price of a Product?
- What design principle is violated if a Cart class directly manipulates a Product's price?
- Why might CartItem hold a Product reference instead of copying every product field into loose variables?
- In the context of e-commerce, which class is most likely to contain a method called calculateTotalPrice()?
- What access modifier should be used for fields to adhere to encapsulation principles?
- How would you explain a key reason to use encapsulation when designing an object with multiple responsibilities in an…