Polymorphism; the concept of one definition, but multiple implementations.
In C#, this is done using the 'abstract' and 'override' keywords.
Example:
abstract class Shape {
public abstract double area();
}
class Square : Shape {
private double size;
public Square(double size = 0) {
this.size = size;
}
public override double area() {
return size * size;
}
}