Mid OOP

How would you design a payment system using abstract classes and interfaces?

  • Use an interface for common operations: IPayment.
  • Use an abstract class for shared behavior like logging.

interface IPayment { void Pay(decimal amount); }

abstract class PaymentBase : IPayment

public abstract void Pay(decimal amount);

public void Log(string message) => Console.WriteLine(message);

class CreditCardPayment : PaymentBase

public override void Pay(decimal amount) =>

Console.WriteLine($"Paid {amount} by Credit Card");

More from C# Programming Tutorial

All questions for this course