Abstraktioji klasė yra ta, kuri skirta tik pagrindinei kitų klasių klasei. „Abstraktus“ modifikatorius naudojamas klasės abstrakčiai sudaryti. Abstraktus modifikatorius nurodo, kad trūksta kažkokio diegimo, kurį reikia įdiegti iš jo išvestoje klasėje. Abstrakčioje klasėje gali būti abstrakčių ir abstrakčių narių. Abstrakčioji klasė turėtų turėti bent vieną abstraktųjį metodą, priešingu atveju nereikia klasifikuoti tos klasės kaip „abstrakčios“.
C # abstrakčios klasės pavyzdys:
Kaip parodyta aukščiau pateiktame pavyzdyje, išvestinėje klasėje „MyArea“ yra panaikintas abstraktus metodas „Plotas“, esantis „MyCircle“ klasėje..
Sąsajoje yra tik narių deklaracijos, įskaitant metodus, ypatybes, įvykius ar rodykles. Joje nėra šių narių įgyvendinimo. Klasė ar konstrukcija įgyvendina sąsają, turi pateikti sąsajoje deklaruojamų metodų apibrėžimus. Tai reiškia, kad sąsaja suteikia standartinę struktūrą, kurios turi laikytis išvestinė klasė.
C # sąsajos pavyzdys:
Kaip parodyta aukščiau pateiktame pavyzdyje, sąsaja „MyData“ turi dviejų metodų deklaraciją getdata () ir showdata (). Klasė „NameData“, kuri diegia šią sąsają, turėtų pateikti metodų, deklaruotų „MyData“ sąsajoje, apibrėžimą.