Object-oriented programming · interview question
Checkout needs one discount strategy today and another tomorrow. Which design keeps that change most local?
Multiple choiceHardchapter-5-curatedpremiumoopcomposition-vs-inheritance
Answer and explanation
Correct answer
B. Compose CheckoutService with a DiscountPolicy collaborator
Why
When one axis of behavior changes independently, composition usually localizes the change better than rebuilding a class hierarchy. The service stays the same type while its collaborator can vary.
Test yourself on Object-oriented programming
A free test with instant, explained results. No account needed.
More Object-oriented programming questions
- What happens if a subclass does not implement all abstract methods from its abstract superclass?
- What does the 'this' keyword refer to within an instance method of a class?
- Which Java keyword would you use to declare an abstract class in Java?
- Which statement correctly creates an instance of the 'Product' class?
- How does using interfaces in Java promote flexibility in application design?
- In Java, why might composition be preferred over inheritance when designing a class to calculate discounts for…