Paveldėjimo ir sąsajos skirtumas „Java“

Turinys:

Paveldėjimo ir sąsajos skirtumas „Java“
Paveldėjimo ir sąsajos skirtumas „Java“

Video: Paveldėjimo ir sąsajos skirtumas „Java“

Video: Paveldėjimo ir sąsajos skirtumas „Java“
Video: Inheritance vs Interfaces in C#: Object Oriented Programming 2024, Lapkritis
Anonim

Pagrindinis skirtumas – paveldėjimas ir sąsaja „Java“versijoje

Java yra „Sun Microsystems“sukurta programavimo kalba. Java gali būti naudojama kuriant įvairias programas. Tai kelių paradigmų kalba, kuri palaiko objektinį, struktūrinį ir tt Pagrindinis Java pranašumas yra tai, kad ji palaiko objektinį programavimą (OOP). Programuotojas gali kurti klases ir objektus. OOP yra keturi ramsčiai. Tai yra paveldėjimas, polimorfizmas, abstrakcija ir inkapsuliacija. Paveldėjimas ir sąsajos yra susiję su OOP. Pagrindinis skirtumas tarp paveldėjimo ir sąsajos yra tas, kad paveldėjimas yra naujų klasių išvedimas iš esamų klasių, o sąsaja yra abstrakčių klasių ir daugybinio paveldėjimo įgyvendinimas.

Kas yra paveldėjimas Java?

Paveldėjimas gali užtikrinti kodo pakartotinį naudojimą. Paveldėjimas padeda pakartotinai panaudoti esamos klasės atributus ir metodus. Naujos klasės išvedimo naudojant senąją klasę mechanizmas vadinamas paveldėjimu. Senoji klasė yra žinoma kaip pagrindinė klasė arba super klasė. Išvestinė klasė vadinama antrine klase arba poklasiu.

Java paveldėjimo sintaksė yra tokia.

class subclass_name išplečia superclass_name {

kintamojo deklaracija;

metodo deklaracija;

}

Paveldėjimo sąvoką galima paaiškinti naudojant šį pavyzdį. Tarkime, kad yra klasė A, kaip nurodyta toliau.

viešoji A klasė{

vieša negaliojanti suma(){

System.out.println("Suma");

}

}

Jei norime pridėti naują metodą nekeisdami esamos klasės, galime tai padaryti taip.

viešoji B klasė{

public void sub(){

System.out.println("Sub");

}

}

Programuotojas gali naudoti paveldėjimą, kad naudotų A klasės sumą().

viešoji B klasė išplečia A klasę{

public void sub(){

System.out.println("Sub");

}

}

Pagrindinėje funkcijoje galima sukurti B objektą ir iškviesti sub(), kuris priklauso B klasei, ir sum(), kuri priklauso A klasei, naudojant paveldimumą.

vieša statinė void main(String args){

B obj=naujas B();

obj.sub();

obj.sum();

}

Yra įvairių paveldėjimo tipų. Jie yra vieno paveldėjimo, daugybinio paveldėjimo, kelių lygių paveldėjimo ir hierarchinio paveldėjimo. Vieno paveldėjimo atveju yra viena bazinė klasė ir viena išvestinė klasė. Kelių lygių paveldėjimo atveju yra trys klasės, būtent: pagrindinė klasė, tarpinė klasė ir išvestinė klasė. Tarpinė klasė paveldi iš pagrindinės klasės, o išvestinė klasė paveldi iš tarpinės klasės. Hierarchinio paveldėjimo atveju yra viena bazinė klasė ir daug išvestinių klasių. Yra specialus tipas, žinomas kaip hibridinis paveldėjimas. Tai dviejų ar daugiau paveldėjimo tipų derinys.

Skirtumas tarp paveldėjimo ir sąsajos Java
Skirtumas tarp paveldėjimo ir sąsajos Java

01 pav.: Paveldėjimas

Kiekvieno paveldėjimo sistemoje yra daug bazinių 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 turi tą patį metodą, o programuotojas iškviečia tą metodą iš išvestinės klasės, tai sukels dviprasmiškumo problemą. Dviejų klasių paveldėjimas gali sukelti kompiliavimo laiko klaidą. Todėl „Java“nepalaiko kelių paveldėjimo. Šiai problemai išspręsti galima naudoti sąsają.

Kas yra „Java“sąsaja?

Abstrakcija – tai diegimo informacijos slėpimo ir vartotojui tik funkcijų rodymo procesas. Abstrakcija gali būti pasiekta naudojant abstrakčias klases arba sąsajas. Abstraktus metodas yra metodas be įgyvendinimo. Klasė su bent vienu abstrakčiuoju metodu yra abstrakčioji klasė. Abstrakčios klasės pavyzdys yra toks.

abstrakčioji klasė A{

abstract void sum();

}

Tarkime, kad yra dvi abstrakčios klasės A ir B. Norint įgyvendinti abstrakčius A ir B metodus, sukuriama nauja C klasė. Tada C klasė turėtų išplėsti ir A, ir B. Tačiau „Java“nepalaiko daugybinio paveldėjimo. Todėl reikėtų naudoti sąsajas. Sąsajos gali būti naudojamos metodams deklaruoti, tačiau metodų apibrėžti neįmanoma. Neįmanoma sukurti objekto naudojant sąsajas. C klasė turėtų įdiegti visus A ir B sąsajos metodus.

sąsaja A{

negalioja suma();

}

sąsaja B{

void sub();

}

C klasės padargai A, B{

vieša negaliojanti suma(){

System.out.println(“Sumavimas“);

}

public void sub(){

System.out.println("Atimtis");

}

}

Dabar pagrindinėje programoje galima sukurti C objektą ir iškviesti abu metodus.

public static void main (Eilutė args) {

C obj=naujas C();

obj.sum();

obj.sub();

}

Taigi, sąsajos gali būti naudojamos daugialypiam paveldėjimui įgyvendinti.

Kitas sąsajų panaudojimas yra tas, kad jos užtikrina saugumą. Žiūrėkite toliau pateiktą kodą.

sąsaja A {

negalioja suma ();

}

B klasė įgyvendina A {

vieša negaliojanti suma () {

System.out.println(“Sumavimas“);

}

vieša galiojanti daugyba () {

System.out.println("Daugyba");

}

}

Kuriant B objektą, galima iškviesti abu metodus suma () ir daugyba (). Jei programuotojas nori apriboti daugybos () funkciją, tai įmanoma taip.

vieša statinė void main(String args){

A obj=naujas B();

obj.sum();

}

A obj=naujas B(); sukurs objektą. Jis yra A tipo, o atmintis yra skirta B. Galima iškviesti sum(), bet negalima vykdyti multiply(). Šis apribojimas taikomas naudojant sąsajas.

Kokie yra „Java“paveldėjimo ir sąsajos panašumai?

  • Abi sąvokos yra susijusios su objektiniu programavimu
  • Abu reiškia IS-A ryšį.

Kuo skiriasi paveldėjimas ir sąsaja Java?

Paveldėjimas prieš sąsają Java versijoje

Paveldėjimas yra OOP koncepcija, skirta iš esamų klasių išvesti naujas klases. Sąsaja yra OOP mechanizmas, skirtas abstrakcijai ir daugybiniam paveldėjimui įgyvendinti.
Naudojimas
Paveldėjimas suteikia kodo pakartotinio naudojimo. Sąsajos suteikia abstrakciją ir daugialypį paveldėjimą.

Santrauka – paveldėjimas prieš „Java“sąsają

Java yra kelių paradigmų programavimo kalba, kuri palaiko objektinį programavimą. Paveldėjimas ir sąsajos yra susiję su objektiniu programavimu. Skirtumas tarp paveldėjimo ir sąsajos yra tas, kad paveldėjimas reiškia naujų klasių išvedimą iš esamų klasių, o sąsajos reiškia abstrakčias klases ir daugybinį paveldėjimą.

Atsisiųskite paveldėjimo ir sąsajos PDF versiją Java versijoje

Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia Skirtumas tarp paveldėjimo ir sąsajos Java

Rekomenduojamas: