Abstraktní třída je taková, která je zamýšlena pouze jako základní třída jiných tříd. „Abstrakt“ modifikátor se používá k tomu, aby se třída stala abstraktem. Abstraktní modifikátor naznačuje, že existuje nějaká chybějící implementace, která musí být implementována do třídy, která je z ní odvozena. Abstraktní třída může mít abstraktní a ne abstraktní členy. Abstraktní třída by měla mít alespoň jednu abstraktní metodu, jinak není možné tuto třídu prohlásit za „abstraktní“.
Příklad abstraktní třídy v C #:
Jak je ukázáno ve výše uvedeném příkladu, abstraktní metoda „Area“ uvnitř třídy MyCircle je v odvozené třídě MyArea přepsána..
Rozhraní obsahuje pouze deklaraci členů včetně metod, vlastností, událostí nebo indexů. Neobsahuje implementaci těchto členů. Třída nebo struktura implementuje rozhraní, musí poskytovat definici metod deklarovaných v rozhraní. To znamená, že rozhraní poskytuje standardní strukturu, kterou musí odvozená třída následovat.
Příklad rozhraní v C #:
Jak je ukázáno ve výše uvedeném příkladu, rozhraní MyData má dvě metody deklarace getdata () a showdata (). Třída NameData, která implementuje toto rozhraní, by měla definovat metody deklarované v rozhraní MyData.