Senior
From PDF
SOLID
Design Patterns & SOLID
What is the role of Abstract classes vs Interfaces in SOLID design?
Short answer: Interfaces define contracts with no implementation, supporting ISP and DIP by allowing flexible implementations. Abstract classes provide a base implementation and shared code, useful for Template Method pattern and partial abstraction.
Example code
Interfaces define contracts with no implementation, supporting ISP and DIP by allowing flexible implementations. Abstract classes provide a base implementation and shared code, useful for Template Method pattern and partial abstraction.
Real-world example (ShopNest)
Open/Closed in ShopNest: add a new payment method by adding a class, not by editing a giant switch in CheckoutService.
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png