Ereditarietà consente a una classe di derivare da una classe base, riutilizzando ed estendendo i suoi membri. Polimorfismo consente di trattare oggetti derivati attraverso un tipo base, con il metodo sovrascritto corretto chiamato a runtime (tramite virtual/override). Questi sono meccanismi fondamentali della OOP in C#.
