Abstraktne klass on klass, mis on mõeldud ainult teiste klasside põhiklassiks. Klassi abstraktseks muutmiseks kasutatakse 'abstraktset' modifikaatorit. Abstraktne modifikaator näitab, et selle rakendatavast klassist tuleb mõni rakendamine puudu. Abstraktses klassis võivad olla abstraktsed ja mitteabstraktsed liikmed. Abstraktsel klassil peaks olema vähemalt üks abstraktne meetod, vastasel juhul pole mingit vajadust kuulutada seda klassi abstraktseks.
C-klassi abstraktse klassi näide:
Nagu ülaltoodud näites näidatud, on tuletatud klassis MyArea ületatud abstraktne meetod 'Area' MyCircle'i klassis.
Liides sisaldab ainult liikmete deklaratsioone, sealhulgas meetodeid, omadusi, sündmusi või indekseerijaid. See ei sisalda nende liikmete rakendamist. Klass või struktuur rakendab liidest, peab andma liideses deklareeritud meetodite määratluse. See tähendab, et liides pakub standardset ülesehitust, mida tuletatud klass peab järgima.
C # liidese näide:
Nagu ülaltoodud näites näidatud, on liidesel MyData kaks meetodi deklaratsiooni getdata () ja showdata (). Klass NameData, kes seda liidest rakendab, peaks määratlema MyData liideses deklareeritud meetodid.