Object-oriented programming · interview question
How would you explain a drawback of using inheritance over composition when implementing a 'NotificationService' that supports multiple channels like email, SMS, and push notifications in an interview?
Multiple choiceHardchapter-5-curatedpremiumoopcomposition-vs-inheritance
Answer and explanation
Correct answer
D. Inheritance limits the ability to extend functionality without modifying existing code.
Why
Using inheritance may limit the ability to extend functionality because changes in the superclass can affect all subclasses. Composition allows new channels to be added without modifying existing code, thus adhering to the open/closed principle.
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…