Object-oriented programming · interview question
Consider the following code. What will be the output when the 'processOrder' method is called with a 'DigitalProduct'?
Multiple choiceMediumchapter-5-curatedpremiumooppolymorphism
interface Product { void process(); }
class DigitalProduct implements Product { public void process() { System.out.println("Processing digital product"); } }
class PhysicalProduct implements Product { public void process() { System.out.println("Processing physical product"); } }
void processOrder(Product product) { product.process(); }Answer and explanation
Correct answer
A. Processing digital product
Why
The 'processOrder' method calls the 'process' method on the 'Product' reference, but at runtime, the 'process' method of 'DigitalProduct' is executed due to polymorphism.
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…