Overerving stelt een klasse in staat om af te leiden van een basisklasse en de leden ervan opnieuw te gebruiken en uit te breiden. Polymorfisme stelt je in staat om afgeleide objecten te behandelen via een basistype, waarbij de juiste overschreven methode tijdens runtime wordt aangeroepen (via virtual/override). Dit zijn kernmechanismen van OOP in C#.
