Abstract Class vs Interface Interface Meaning Defines capability and behavior contract Use when: ● Multiple inheritance is required ● System uses plug-in extensibility ● Loose coupling is necessary public interface IPayment { void Pay(decimal amount); }
Short answer: bstract Class Meaning Provides base behavior with shared implementation Represents IS-A inheritance relationship public abstract class PaymentBase { public void Log() => Console.WriteLine("Payment logged"); public abstract void Pay(decimal amount); } Summary Interface = Capability bstract Class = Shared Base Behavior bstract Class Meaning Provides base… behavior with shared implementation Represents IS-A inheritance…
Explain a bit more
relationship public abstract class PaymentBase { public void Log() => Console.WriteLine("Payment logged"); public abstract void Pay(decimal amount); } Summary Interface = Capability bstract Class = Shared Base Behavior
Real-world example (ShopNest)
Answer with: definition → one ShopNest-style story → trade-off → how you would verify it in production.
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