Pagrindinis skirtumas – klasė ir sąsaja
Objektinis programavimas (OOP) yra įprasta programinės įrangos kūrimo paradigma. Tai padeda programavimui pritaikyti realaus pasaulio scenarijus naudojant klases ir objektus. Klasė yra brėžinys, skirtas sukurti objektą. Programuotojas gali sukurti klasę su savybėmis ir metodais. Mokinys ir mokytojas yra objektai. Objekto kūrimas yra žinomas kaip egzistavimas. 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 tas, kad klasė yra nuorodos tipas, kuris yra objekto egzempliorių planas, o sąsaja yra nuorodos tipas, kurio negalima naudoti objektui sukurti.
Kas yra klasė?
OOP sistemoje viskas laikoma objektu. Neįmanoma sukurti objekto be klasės. Klasė yra brėžinys, skirtas sukurti objektą. Statydamas namą architektas braižo planą. Planas panašus į klasę. Namas panašus į objektą. Klasė yra objekto statybos planas. Objektas yra tai, kas sukurta naudojant klasę.
Klasėje yra savybės ir metodai. Mokinys gali turėti tokias savybes kaip vardas, klasė, indekso numeris. Studentas gali turėti tokius metodus kaip skaitymas, vaikščiojimas, studijavimas. Sukuriama klasė su reikiamomis savybėmis ir metodais.
Klasės kūrimo daugeliu programavimo kalbų sintaksė yra tokia. Jis sukurtas naudojant raktinio žodžio klasė.
klasės klasės_pavadinimas {
// savybės
//metodai
}
Programavimo kalbos, tokios kaip C ir Java, taiko panašią sintaksę, kad sukurtų objektą naudojant klasę. Tarkime, kad klasės pavadinimas yra Mokinys.
Studentas s1=naujas studentas ();
Šis s1 yra objektas. „Naujas“raktinis žodis naudojamas ypatybių atminčiai paskirstyti. Klasė taip pat turi konstruktorių ypatybėms arba kintamiesiems inicijuoti.
Klasės nariai, pvz., savybės ir metodai, turi prieigos modifikatorius. Prieigos specifikacijos apibūdina tų narių prieinamumą ir matomumą kitoms klasėms. Klasės nariai gali turėti prieigos specifikacijas, tokias kaip vieša, privati ir apsaugota. Viešuosius narius gali pasiekti kitos klasės. Privatūs nariai pasiekiami tik klasei. Apsaugoti nariai pasiekiami klasėje ir atitinkamuose poklasiuose.
Kas yra sąsaja?
Abstrakcija yra objektinio programavimo ramstis. Jis skirtas paslėpti įgyvendinimo detales ir parodyti vartotojui funkcijas. 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 deklaruoti metodai. Tiems metodams įgyvendinti naudojama nauja klasė. Jei abi klasės turėjo tą patį metodą, tai gali sukelti dviprasmiškumo problemą. Todėl programavimo kalbos, tokios kaip Java ir C, turi sąsają.
Sąsajose yra tik metodų deklaracija. Nėra įgyvendinimo metodo. Be to, sąsajos negali būti naudojamos objektams kurti. Jie naudojami norint palaikyti kelis paveldėjimus ir apsaugoti kodą.
Sąsajos sintaksė yra tokia. Sąsaja naudokite raktinį žodį „sąsaja“.
sąsajos sąsajos_pavadinimas{
type1(parameter_list);
type2(parameter_list);
}
Remiantis aukščiau, sąsajos turi tik deklaraciją. Apibrėžimo nėra. Taigi, sąsajos negali sukurti objektų. Tai tik suteikia abstraktų vaizdą apie tai, kas yra sąsaja. Sąsajoje deklaruotus metodus gali įgyvendinti viena arba kelios klasės. Klasė naudoja raktinį žodį „įgyvendinti“, kad įdiegtų sąsają. Žiūrėkite toliau pateiktą pavyzdį, parašytą naudojant Java.
01 pav. Programa naudojant sąsajas
Pagal aukščiau pateiktą programą A ir B yra sąsajos. Sąsaja A turi metodo deklaraciją, kuri yra suma (). B sąsaja turi metodo deklaraciją 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 deklaruoti metodai visada turi būti vieši, nes juos apibrėžia įgyvendinimo klasės. Sąsaja taip pat gali būti paveldima iš kitos sąsajos.
Kokie yra klasės ir sąsajos panašumai?
- Abu yra nuorodos tipai.
- Abu yra susiję su objektiniu programavimu.
Kuo skiriasi klasė ir sąsaja?
Klasė prieš sąsają |
|
Klasė yra nuorodos tipas, kuris yra objekto kūrimo planas. | Sąsaja yra nuorodos tipas, kurio negalima sukurti. |
Objekto paleidimas | |
Klasė naudojama objektui sukurti. | Sąsaja negali būti kartojama, nes metodai negali atlikti jokio veiksmo. |
Konstruktorius | |
Klasėje yra konstruktorius kintamiesiems inicijuoti. | Sąsaja neturi konstruktoriaus, nes jie beveik nėra kintamieji, kuriuos reikia inicijuoti. |
Raktinis žodis | |
Klasėje naudojamas raktinis žodis „klasė“. | Sąsaja naudoja raktinį žodį „sąsaja“. |
Prieigos specifikacija | |
Klasės nariai gali būti privatūs, vieši ir apsaugoti. | Sąsajos nariai visada turi būti vieši, nes juos apibrėžia diegimo klasės. |
Santrauka – klasė prieš sąsają
Klasės ir sąsajos plačiai naudojamos objektiniame programavime. Skirtumas tarp klasės ir sąsajos yra tas, kad klasė yra nuorodos tipas, kuris yra objekto egzempliorių planas, o sąsaja yra nuorodos tipas, kurio negalima naudoti objektui sukurti. Klasė gali įdiegti daugybę sąsajų. Tačiau ji gali išplėsti tik vieną superklasę. Sąsaja gali paveldėti daug sąsajų, bet negali būti įgyvendinimo. Abu turi savo svarbą. Programuotojas gali juos naudoti pagal kuriamą programinę įrangą.
Atsisiųskite PDF klasę ir sąsają
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia Skirtumas tarp klasės ir sąsajos