Pagrindiniai skirtumai - paveldėjimas ir sąsaja „Java“
„Java“yra programavimo kalba, kurią sukūrė „Sun Microsystems“. Java gali būti naudojama kuriant įvairias programas. Tai daugiaprofilinė kalba, palaikanti į objektą orientuotą, struktūrizuotą ir pan. Pagrindinis „Java“privalumas yra tai, kad ji palaiko į objektą orientuotą programavimą (OOP). Programuotojas gali kurti klases ir objektus. OOP yra keturi ramsčiai. Tai paveldėjimas, polimorfizmas, abstrakcija ir kapsuliavimas. Paveldėjimas ir sąsajos yra susijusios su OOP. Pagrindinis skirtumas tarp paveldėjimo ir sąsajos yra tas, kad paveldėjimas yra naujų klasių gavimas iš esamų klasių, o sąsaja - abstrakčių klasių ir daugybinio paveldėjimo įgyvendinimas.
TURINYS
1. Apžvalga ir pagrindiniai skirtumai
2. Kas yra paveldėjimas „Java“
3. Kas yra „Java“sąsaja
4. „ Java“paveldėjimo ir sąsajos panašumai
5. Šoninis palyginimas - paveldėjimas ir „Java“sąsaja lentelių pavidalu
6. Santrauka
Kas yra „Java“paveldėjimas?
Paveldėjimas gali padėti pakartotinai naudoti kodą. Paveldėjimas padeda pakartotinai panaudoti esamos klasės atributus ir metodus. Naujos klasės gavimo mechanizmas naudojant senąją klasę vadinamas paveldėjimu. Senoji klasė vadinama tėvų klase arba super klase. Išvestinė klasė vadinama vaikų klase arba poklasiu.
„Java“paveldėjimo sintaksė yra tokia.
class subclass_name prailgina superclass_name {
kintama deklaracija;
metodo deklaracija;
}
Paveldėjimo sąvoką galima paaiškinti naudojant šį pavyzdį. Tarkime, kad yra klasė, vadinama A taip.
viešoji A klasė {
viešoji niekinė suma () {
System.out.println („suma“);
}
}
Jei norime pridėti naują metodą nekeisdami esamos klasės, galime tai padaryti taip.
B klasė {
public void sub () {
System.out.println („Sub“);
}
}
Programuotojas gali naudoti paveldėjimą A klasės sumai () naudoti.
B visuomenės klasė pratęsia A klasę {
public void sub () {
System.out.println („Sub“);
}
}
Pagrindinėje funkcijoje galima sukurti B objektą ir iškviesti sub (), priklausantį B klasei, ir sum (), priklausantį A klasei, naudojant paveldėjimą.
public static void main (String args) {
B obj = naujas B ();
obj.sub ();
obj.sum ();
}
Yra įvairių paveldėjimo rūšių. Tai yra vienas paveldėjimas, daugkartinis paveldėjimas, daugiapakopis paveldėjimas ir hierarchinis paveldėjimas. Vieno paveldėjimo atveju yra viena pagrindinė klasė ir viena išvestinė klasė. Daugiapakopio paveldėjimo atveju yra trys klasės, būtent, pagrindinė klasė, tarpinė klasė ir išvestinė klasė. Tarpinė klasė paveldi iš bazinės klasės, o išvestinė - iš tarpinės klasės. Hierarchiniame paveldėjime yra viena pagrindinė klasė ir daug išvestinių klasių. Yra specialus tipas, žinomas kaip hibridinis paveldėjimas. Tai dviejų ar daugiau paveldėjimo rūšių derinys.
01 pav. Paveldėjimas
Daugybiniame paveldėjime yra daugybė pagrindinių klasių ir viena išvestinė klasė. Tarkime, kad A ir B klasės yra pagrindinės klasės. C klasė yra išvestinė klasė. Jei tiek A, tiek B klasės turi tą patį metodą ir programuotojas iškviečia tą metodą iš išvestinės klasės, tai sukels dviprasmybės problemą. Dviejų klasių paveldėjimas gali sukelti kompiliavimo laiko klaidą. Todėl „Java“nepalaiko kelių paveldėjimų. Sąsaja gali būti naudojama šiai problemai įveikti.
Kas yra „Java“sąsaja?
Abstrakcija yra procesas, kai slepiama įgyvendinimo informacija ir vartotojui rodomos tik funkcijos. Abstrakciją galima pasiekti naudojant abstrakčias klases ar sąsajas. Abstraktus metodas yra metodas be įgyvendinimo. Klasė, kurioje naudojamas bent vienas abstraktus metodas, yra abstrakti klasė. Abstrakčios klasės pavyzdys yra toks.
abstrakti A klasė {
abstrakti tuštuma suma ();
}
Tarkime, kad yra dvi abstrakčios klasės kaip A ir B. Norėdami įgyvendinti abstrakčius A ir B metodus, sukuriama nauja C klasė. Tada C klasė turėtų pratęsti ir A, ir B. Tačiau „Java“nepalaiko kelių paveldėjimų. Todėl turėtų naudoti sąsajas. Sąsajos gali būti naudojamos deklaruojant metodus, tačiau metodų apibrėžti neįmanoma. Neįmanoma sukurti objekto naudojant sąsajas. C klasė turėtų įgyvendinti visus A ir B sąsajos metodus.
sąsaja A {
niekinė suma ();
}
sąsaja B {
negaliojantis sub ();
}
C klasės padargai A, B {
viešoji niekinė suma () {
System.out.println („Apibendrinimas“);
}
public void sub () {
System.out.println („Atimtis“);
}
}
Dabar pagrindinėje programoje galima sukurti C objektą ir iškviesti abu metodus.
public static void main (String argumentuoja) {
C obj = naujas C ();
obj.sum ();
obj.sub ();
}
Taigi sąsajos gali būti naudojamos daugybiniam paveldėjimui įgyvendinti.
Kitas sąsajų naudojimas yra tas, kad tai suteikia saugumą. Žr. Žemiau pateiktą kodą.
sąsaja A {
niekinė suma ();
}
B klasės padargai A {
viešoji niekinė suma () {
System.out.println („Apibendrinimas“);
}
public void daugintis () {
System.out.println („Daugyba“);
}
}
Kuriant B objektą, galima iškviesti abu metodus suma () ir dauginti (). Jei programuotojas nori apriboti naudodamas dauginimo () funkciją, tai įmanoma taip.
public static void main (String args) {
A obj = naujas B ();
obj.sum ();
}
A obj = naujas B (); sukurs objektą. Jis yra A tipo, o atmintis paskirstyta kaip B. Galima iškviesti sumą (), bet negalima dauginti (). Šis apribojimas atliekamas naudojant sąsajas.
Kokie yra „Java“paveldėjimo ir sąsajos panašumai?
- Abi sąvokos yra susijusios su objektyviu programavimu
- Abu jie atstovauja IS-A santykiams.
Koks skirtumas tarp paveldėjimo ir sąsajos „Java“?
Skirtingas straipsnis viduryje prieš lentelę
„Java“paveldėjimas ir sąsaja |
|
Paveldėjimas yra OOP koncepcija, leidžianti gauti naujas klases iš esamų klasių. | Sąsaja yra OOP mechanizmas, leidžiantis įgyvendinti abstrakciją ir daugkartinį paveldėjimą. |
Naudojimas | |
Paveldėjimas suteikia kodo pakartotinį naudojimą. | Sąsajos suteikia abstrakciją ir daugkartinį paveldėjimą. |
Santrauka - paveldėjimas ir sąsaja „Java“
„Java“yra kelių paradigmų programavimo kalba, palaikanti į objektą orientuotą programavimą. Paveldėjimas ir sąsajos yra susijusios su objektyviu programavimu. Skirtumas tarp paveldėjimo ir sąsajos yra tas, kad paveldėjimas yra naujų klasių gavimas iš esamų klasių, o sąsajos - abstrakčių klasių ir daugybinio paveldėjimo įgyvendinimas.
Atsisiųskite „Java“paveldėjimo ir sąsajos PDF versiją
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia „Java“paveldėjimo ir sąsajos skirtumas