Skirtumas tarp klasės ir sąsajos

Pagrindinis skirtumas - klasė vs sąsaja
 

Objektinis programavimas (OOP) yra įprasta programinės įrangos kūrimo paradigma. Tai padeda pritaikyti realaus pasaulio scenarijus programavimui naudojant klases ir objektus. Klasė yra objekto sukūrimo projektas. Programuotojas gali sukurti klasę su savybėmis ir metodais. Studentas ir mokytojas yra objektai. Objekto sukūrimas yra žinomas kaip akimirksniu. OOP taip pat naudoja sąsajas. Sąsajos ir klasė gali atrodyti panašios, tačiau jos skiriasi. Šiame straipsnyje aptariamas skirtumas tarp klasės ir sąsajos. pagrindinis skirtumas tarp klasės ir sąsajos yra tai klasė yra atskaitos tipas, kuris yra objekto pagreitinimo projektas, o sąsaja yra nuorodos tipas, kurio negalima naudoti objekto pagreitinimui.

TURINYS

1. Apžvalga ir svarbiausias skirtumas
2. Kas yra klasė
3. Kas yra sąsaja
4. Klasės ir sąsajos panašumai
5. Šalutinis palyginimas - lentelės formos klasė ir sąsaja
6. Santrauka

Kas yra klasė?

OOP viskas laikoma objektu. Neįmanoma sukurti objekto be klasės. Klasė yra objekto sukūrimo projektas. Statant namą architektas nubraižo planą. Planas panašus į klasę. Namas panašus į objektą. Klasė yra objekto pastatymo planas. Objektas yra tai, kas sukurta naudojant klasę.

Klasėje pateikiamos savybės ir metodai. Studentas gali turėti tokias savybes kaip vardas, pavardė, laipsnis, rodyklės numeris. Studentas gali turėti tokius metodus kaip skaitymas, vaikščiojimas, studijavimas. Sukuriama klasė, turinti reikiamas savybes ir metodus.

Klasės kūrimo sintaksė daugeliu programavimo kalbų yra tokia. Jis sukurtas naudojant raktinių žodžių klasę.

klasė klasės_vardas

// savybės

// metodai

Programavimo kalbos, tokios kaip C # ir Java, laikosi panašios sintaksės, kad sukurtų objektą naudojant klasę. Tarkime, kad klasės pavadinimas yra Studentas.

Studentas s1 = naujas studentas ();

Tai s1 yra objektas. „Naujas“ raktinis žodis yra naudojamas nuosavybėms paskirstyti. Klasė taip pat turi konstruktorių savybėms ar kintamiesiems inicijuoti.

Tokie klasės nariai, kaip savybės ir metodai, turi prieigos modifikatorius. Prieigos specifikatoriai apibūdina tų narių prieinamumą ir matomumą kitoms klasėms. Klasės nariai gali turėti prieigą prie specifikacijų, tokių kaip vieša, privati ​​ir apsaugota. Visuomenės narius gali pasiekti kitos klasės. Privatūs nariai gali naudotis tik klase. Apsaugoti nariai yra prieinami klasės ir atitinkamų poklasių viduje.

Kas yra sąsaja?

Abstrakcija yra objektinio programavimo ramstis. Tai yra informacijos apie įdiegimą slėpimas ir funkcionalumo rodymas vartotojui. Abstrakcija pasiekiama naudojant abstrakčias klases ir sąsajas. Abstraktus metodas neturi įgyvendinimo. Klasė, kurioje yra bent vienas abstraktus metodas, vadinama abstrakčia klase.

Kai yra dvi abstrakčios klasės, turėtų būti įgyvendinti tose klasėse deklaruojami metodai. Šiems metodams įgyvendinti naudojama nauja klasė. Jei abi klasės naudotų tą patį metodą, tai gali sukelti dviprasmybių problemą. Todėl programavimo kalbos, tokios kaip Java ir C #, turi sąsają.

Sąsajose yra tik metodų deklaracija. Nėra jokio diegimo metodo. Taip pat sąsajos negali būti naudojamos kuriant objektus. Jie naudojami palaikyti kelis palikimus ir apsaugoti kodą.

Sąsajos sintaksė yra tokia. Sąsaja naudokite raktinį žodį „sąsaja“.

sąsajos sąsajos_pavadinimas

tipo metodas1 (parametro sąrašas);

tipo metodas2 (parametro sąrašas);

Remiantis tuo, kas išdėstyta aukščiau, sąsajos turi tik deklaraciją. Nėra apibrėžimo. Taigi sąsajos negali akimirksniu atkurti objektų. Tai tik pateikia abstrakčią sąsajos vaizdą. Sąsajoje deklaruotus metodus gali įgyvendinti viena ar kelios klasės. Klasė sąsajai įgyvendinti naudoja raktinį žodį „įgyvendinti“. Žemiau pateiktą pavyzdį, parašytą naudojant „Java“.

01 paveikslas: Programa naudojant sąsajas

Pagal aukščiau pateiktą programą, A ir B yra sąsajos. A sąsaja turi metodo deklaraciją, kuri yra suma (). B sąsaja turi metodo deklaravimo sub (). C klasė įgyvendina abi sąsajas, kurios yra A ir B. Todėl C klasė apibrėžia ir sum (), ir sub () metodus. Sukūrus C tipo objektą, galima iškviesti abu metodus sum () ir sub ().

Sąsajos viduje deklaruojami metodai visada turi būti vieši, nes juos nustato apibrėžimo klasės. Sąsaja taip pat gali būti paveldėta iš kitos sąsajos.

Kokie yra klasės ir sąsajos panašumai?

  • Abu yra orientaciniai tipai.
  • Abu yra susiję su objektų programavimu.

Kuo skiriasi klasė ir sąsaja??

Klasė prieš sąsają

Klasė yra atskaitos tipas, kuris yra objekto sukūrimo projektas. Sąsaja yra nuorodos tipas, kurio negalima realizuoti.
 Objekto nustatymas
Klasė naudojama objektui pagreitinti. Sąsaja negali būti pagreitinta, nes metodai negali atlikti jokių veiksmų.
Konstruktorius
Klasėje yra konstruktorius, kad būtų galima inicijuoti kintamuosius. Sąsajoje nėra konstruktoriaus, nes jie beveik neturi kintamųjų, kuriuos būtų galima inicijuoti.
 Raktažodžiai
Klasė naudoja raktinį žodį „klasė“. Sąsaja naudoja raktinį žodį „sąsaja“.
Prieigos specifikatorius
Klasės nariai gali būti privatūs, vieši ir saugomi. Sąsajos nariai visada turėtų būti vieši, nes juos nustato apibrėžimo klasės.

Santrauka - klasė vs sąsaja

Klasės ir sąsajos yra plačiai naudojamos objektiniam programavimui. Skirtumas tarp klasės ir sąsajos yra tas, kad klasė yra atskaitos tipas, kuris yra objekto pagreitinimo projektas, o sąsaja yra nuorodos tipas, kurio negalima naudoti objekto pagreitinimui. Klasė gali įgyvendinti daugybę sąsajų. Bet tai gali pratęsti tik vieną superklasę. Sąsajoje galima paveldėti daug sąsajų, tačiau jos negali būti. Abu turi savo svarbą. Programuotojas gali juos naudoti kurdamas programinę įrangą.

Atsisiųskite „PDF Class vs Interface“

Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia. Klasės ir sąsajos skirtumas

Nuoroda:

1.tutorialspoint.com. „Java objektas ir klasės“. Galima rasti čia 
2.navinreddy20. „Java“ sąsaja su pavyzdžiu, „Java“, autorius Navinas Reddy, 2012 m. Gruodžio 11 d. Galima rasti čia