4 min read
Abstract Classes
Prerequisites: Polymorphism
abstract class Shape {
public abstract double Area(); // no body — subclasses must implement it
public void Describe() {
Console.WriteLine($"Area: {Area()}");
}
}
class Circle : Shape {
private double _radius;
public Circle(double radius) {
_radius = radius;
}
public override double Area() => Math.PI * _radius * _radius;
}
Common mistakes
- Trying
new Shape()directly — anabstractclass can't be instantiated, only extended.