Abstraktná trieda je trieda, ktorá je určená iba ako základná trieda iných tried. „Abstraktný“ modifikátor sa používa na vytvorenie abstraktu triedy. Abstraktný modifikátor naznačuje, že existuje nejaká chýbajúca implementácia, ktorú je potrebné implementovať do triedy, ktorá je z nej odvodená. Abstraktná trieda môže mať abstraktné a neregistrované členy. Abstraktná trieda by mala mať aspoň jednu abstraktnú metódu, v opačnom prípade nie je možné vyhlásiť túto triedu za „abstraktnú“.
Príklad abstraktnej triedy v jazyku C #:
Ako je uvedené vo vyššie uvedenom príklade, abstraktná metóda „Area“ vo vnútri triedy MyCircle je v odvodenej triede MyArea potlačená..
Rozhranie obsahuje iba deklaráciu členov vrátane metód, vlastností, udalostí alebo indexátorov. Neobsahuje implementáciu týchto členov. Trieda alebo štruktúra implementuje rozhranie, musí poskytovať definíciu metód deklarovaných v rozhraní. To znamená, že rozhranie poskytuje štandardnú štruktúru, ktorú musí odvodená trieda nasledovať.
Príklad rozhrania v jazyku C #:
Ako je uvedené v príklade vyššie, rozhranie MyData má dve deklarácie metód getdata () a showdata (). Trieda NameData, ktorá implementuje toto rozhranie, by mala definovať metódy deklarované v rozhraní MyData.