Abstrakta klase ir tā, kas paredzēta tikai kā citu klašu pamatklase. “Abstrakts” modifikators tiek izmantots, lai klase būtu abstrakta. Abstrakts modifikators norāda, ka trūkst dažas ieviešanas, kas jāievieš klasē, kas no tā iegūta. Abstraktajā klasē var būt gan abstrakti, gan abstrakti dalībnieki. Abstraktajai klasei vajadzētu būt vismaz vienai abstraktai metodei, pretējā gadījumā nav jēgas šo klasi pasludināt par “abstraktu”.
C # abstraktās klases piemērs:
Kā parādīts iepriekš minētajā piemērā, atvasinātajā klasē MyArea tiek pārņemta abstraktā metode “Area” MyCircle klasē..
Interfeiss satur tikai dalībnieku deklarācijas, ieskaitot metodes, rekvizītus, notikumus vai indeksētājus. Tajā nav šo dalībnieku ieviešanas. Klases vai struktūras realizē saskarni, jāsniedz interfeisā deklarēto metožu definīcija. Tas nozīmē, ka saskarne nodrošina standarta struktūru, kas jāievēro atvasinātajai klasei.
C # saskarnes piemērs:
Kā parādīts iepriekšējā piemērā, saskarnei MyData ir divu metožu deklarācija getdata () un showdata (). Klasei NameData, kura ievieš šo saskarni, jāsniedz MyData saskarnē deklarēto metožu definīcija.