Mid From PDF OOP C# OOP

How would you design a payment system using abstract classes

Short answer: And interfaces? Use an interface for common operations: IPayment. Use an abstract class for shared behavior like logging. interface IPayment { void Pay(decimal amount); } bstract class PaymentBase : IPayment { public abstract void Pay(decimal amount); public void Log(string message) => Console.WriteLine(message); } class CreditCardPayment :… PaymentBase {……… nd interfaces? nd interfaces? Use an interface for common…

Explain a bit more

operations: IPayment. Use an abstract class for shared behavior like logging. interface IPayment { void Pay(decimal amount); } bstract class PaymentBase : IPayment { public abstract void Pay(decimal amount); public void Log(string message) => Console.WriteLine(message); } class CreditCardPayment : PaymentBase {… nd interfaces? Use an interface for common operations: IPayment. Use an abstract class for shared behavior like logging. interface IPayment { void Pay(decimal amount); } bstract class PaymentBase : IPayment { public abstract void Pay(decimal amount); public void Log(string message) => Console.WriteLine(message); } class… And… public abstract void Pay(decimal amount);

Example code

public void Log(string message) => Console.WriteLine(message);
}
class CreditCardPayment : PaymentBase
{
public override void Pay(decimal amount) => Console.WriteLine($"Paid {amount} by Credit Card"); }

Real-world example (ShopNest)

Checkout calls IPaymentGateway.Charge(). Razorpay and Stripe adapters implement the same interface, so ShopNest can switch gateways without rewriting the order service.

Say this in the interview

  1. Define — one clear sentence (the short answer above).
  2. Example — relate it to a project like ShopNest or your real work.
  3. Trade-off — when you would not use it.
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details