„Java“ yra programavimo kalba, kurią sukūrė „Sun Microsystems“. „Java“ gali būti naudojama kuriant įvairias programas. Tai daugiaparadigminė kalba, palaikanti į objektus orientuotą, struktūrizuotą ir pan. Pagrindinis „Java“ pranašumas yra tas, kad ji palaiko į objektą orientuotą programavimą (OOP). Programuotojas gali kurti klases ir objektus. OOP yra keturios kolonos. Tai paveldimumas, polimorfizmas, abstrakcija ir kapsuliacija. Paveldimumas ir sąsajos yra susijusios su OOP. pagrindinis skirtumas tarp paveldėjimo ir sąsajos yra tai Paveldėjimas - tai naujų klasių gavimas iš esamų klasių, o sąsaja - abstrakčių klasių ir daugialypio paveldėjimo įgyvendinimas.
1. Apžvalga ir svarbiausias skirtumas
2. Kas yra paveldėjimas „Java“
3. Kas yra „Java“ sąsaja
4. Paveldėjimo ir „Java“ sąsajos panašumai
5. Šalutinis palyginimas - Paveldimumas ir sąsaja „Java“ lentelėse
6. Santrauka
Paveldėjimas gali padėti pakartotinai naudoti kodą. Paveldimumas padeda pakartotinai panaudoti esamos klasės atributus ir metodus. Naujos klasės sudarymo mechanizmas naudojant senąją klasę vadinamas paveldėjimu. Senoji klasė vadinama tėvų arba superklase. Išvestinė klasė vadinama vaikų klase ar poklasiu.
„Java“ paveldėjimo sintaksė yra tokia.
klasės poklasio_pavadinimas praplečia superklasės_pavadinimą
kintama deklaracija;
metodo deklaravimas;
Paveldėjimo sampratą galima paaiškinti tokiu pavyzdžiu. Tarkime, kad yra klasė, vadinama A, taip.
vieša A klasė
vieša negaliojanti suma ()
„System.out.println“ („Sum“);
Jei norime pridėti naują metodą nepakeisdami esamos klasės, galime tai padaryti taip.
B klasės vieša klasė
viešas negaliojantis sub ()
„System.out.println“ („Sub“);
Programuotojas gali naudoti paveldėjimą, kad naudotų A klasės sumą ().
B klasė pratęsia A klasę
viešas negaliojantis sub ()
„System.out.println“ („Sub“);
Pagrindinėje funkcijoje galima sukurti objektą B ir iškviesti sub (), priklausantį B klasei, ir sum (), kuris priklauso A klasei, naudojant paveldėjimą.
public static void main (stygos [] args)
B obj = naujas B ();
obj.sub ();
obj.sum ();
Yra skirtingos paveldėjimo rūšys. Tai yra vienas palikimas, daugialypis palikimas, daugiapakopis palikimas ir hierarchinis palikimas. Į vienas palikimas, yra viena pagrindinė klasė ir viena išvestinė klasė. Į daugiapakopis palikimas, yra trys klasės, būtent: pagrindinė klasė, tarpinė klasė ir išvestinė klasė. Tarpinė klasė paveldima iš pagrindinės klasės, o išvestinė klasė paveldi iš vidurinės klasės. Į hierarchinis palikimas, yra viena pagrindinė klasė ir daug išvestinių klasių. Yra specialus tipas, žinomas kaip Hibridinis palikimas. Tai yra dviejų ar daugiau paveldėjimo rūšių derinys.
01 paveikslas: Paveldimumas
Į Daugybinis palikimas yra daug 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 ir A, ir B klasės naudoja tą patį metodą, o programuotojas vadina tą metodą iš išvestinės klasės, tai sukels dviprasmybės problemą. Paveldėjimas dviem klasėmis gali sukelti sudarymo laiko klaidą. Todėl „Java“ nepalaiko kelių paveldėjimų. Šiai problemai įveikti gali būti naudojama sąsaja.
Abstrakcija yra procesas, kuriame slepiama diegimo informacija ir vartotojui rodomos tik funkcijos. Abstrakciją galima pasiekti naudojant abstrakčias klases ar sąsajas. Abstraktus metodas yra metodas be jo įgyvendinimo. Klasė, kurioje naudojamas bent vienas abstraktus metodas, yra abstrakti klasė. Abstrakčios klasės pavyzdys yra toks.
abstrakti A klasė
abstrakčios tuštumos 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 daugialypio paveldėjimo. Todėl turėtų naudoti sąsajas. Sąsajos gali būti naudojamos deklaruoti metodus, tačiau jų apibrėžti neįmanoma. Neįmanoma sukurti objekto naudojant sąsajas. C klasė turėtų įgyvendinti visus metodus A ir B sąsajoje.
A sąsaja
negaliojanti suma ();
sąsaja B
tuščias sub ();
C klasės padargai A, B
vieša negaliojanti suma ()
„System.out.println“ („Summary“);
viešas negaliojantis sub ()
„System.out.println“ („Subtraction“);
Dabar pagrindinėje programoje galima sukurti C objektą ir iškviesti abu metodus.
public static void main (stygos [] args)
C obj = naujas C ();
obj.sum ();
obj.sub ();
Taigi sąsajos gali būti naudojamos keliam paveldėjimui įgyvendinti.
Kitas sąsajų naudojimas yra tas, kad jis suteikia saugumą. Nurodykite žemiau esantį kodą.
A sąsaja
negaliojanti suma ();
B klasės padargai A
vieša negaliojanti suma ()
„System.out.println“ („Summary“);
viešas negaliojimas daugintis ()
System.out.println („Daugyba“);
Kuriant B objektą, galima abu metodus iškviesti suma () ir padauginti (). Jei programuotojas nori apriboti naudodamas multiply () funkciją, tai įmanoma taip.
public static void main (stygos [] args)
A obj = naujas B ();
obj.sum ();
A obj = naujas B (); sukurs objektą. Tai yra A tipo, o atmintis paskirstoma kaip B. Galima skambinti suma (), bet negalima vykdyti dauginimo (). Šis apribojimas atliekamas naudojant sąsajas.
Paveldimumas ir sąsaja „Java“ | |
Paveldimumas yra OOP koncepcija, leidžianti iš esamų klasių sukurti naujas klases. | Sąsaja yra OOP mechanizmas abstrakcijai ir daugybiniam palikimui įgyvendinti. |
Naudojimas | |
Paveldimumas suteikia kodo pakartotinį naudojimą. | Sąsajos teikia abstrakciją ir daugkartinį paveldėjimą. |
„Java“ yra daugiaparadigmatinė programavimo kalba, palaikanti objektinį programavimą. Paveldimumas ir sąsajos yra susijusios su objektų programavimu. Paveldėjimo ir sąsajos skirtumas yra tas, kad paveldėjimas yra naujų klasių gavimas iš esamų klasių, o sąsajos yra abstrakčios klasės ir daugialypis paveldėjimas..
Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia. Paveldėjimo ir „Java“ sąsajos skirtumas
1.Point, vadovėliai. „Java paveldėjimas“. Vadovėlis, 2017 m. Spalio 31 d. Galima rasti čia
2.Taškas, vadovėliai. „Java“ sąsajos. , Mokymo taškas, 2017 m. Spalio 31 d. Galima rasti čia
1. „CPT-OOP-paveldėjimo dviračiai“ Autorius: Pluke - Nuosavas darbas, (viešasis domenas) per „Commons Wikimedia“