Skip to content
Sharp

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
Choose one answer
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.

Start free test
All Object-oriented programming questions →