Atšķirība starp mantošanu un interfeisu Java

Satura rādītājs:

Atšķirība starp mantošanu un interfeisu Java
Atšķirība starp mantošanu un interfeisu Java

Video: Atšķirība starp mantošanu un interfeisu Java

Video: Atšķirība starp mantošanu un interfeisu Java
Video: Interface in Java | Learn Coding 2024, Novembris
Anonim

Galvenās atšķirības - mantošana pret interfeisu Java versijā

Java ir Sun Microsystems izstrādāta programmēšanas valoda. Java var izmantot dažādu lietojumprogrammu izstrādei. Tā ir vairāku paradigmu valoda, kas atbalsta objektorientētu, strukturētu utt. Galvenā Java priekšrocība ir tā, ka tā atbalsta objektorientētu programmēšanu (OOP). Programmētājs var izveidot klases un objektus. OOP ir četri pīlāri. Tie ir mantošana, polimorfisms, abstrakcija un iekapsulēšana. Mantojums un saskarnes ir saistītas ar OOP. Galvenā atšķirība starp mantošanu un saskarni ir tāda, ka mantošana ir jaunu klašu atvasināšana no esošajām klasēm, un interfeiss ir abstraktu klašu un vairāku mantojuma ieviešana.

Kas ir mantošana Java valodā?

Mantojums var nodrošināt koda atkārtotu lietojamību. Mantojums palīdz atkārtoti izmantot esošās klases atribūtus un metodes. Mehānismu jaunas klases iegūšanai, izmantojot veco klasi, sauc par mantojumu. Vecā klase ir pazīstama kā vecāku klase vai superklase. Atvasināto klasi sauc par bērnklasi vai apakšklasi.

Java mantojuma sintakse ir šāda.

class subclass_name paplašina superclass_name {

mainīgā deklarācija;

metodes deklarācija;

}

Mantojuma jēdzienu var izskaidrot, izmantojot šādu piemēru. Pieņemsim, ka pastāv klase ar nosaukumu A šādi.

publiskā klase A{

publiskā spēkā neesošā summa(){

System.out.println(“Summa”);

}

}

Ja vēlamies pievienot jaunu metodi, nemainot esošo klasi, mēs to varam izdarīt šādi.

publiskā klase B{

public void sub(){

System.out.println(“Sub”);

}

}

Programmētājs var izmantot mantojumu, lai izmantotu A klases summu().

publiskā B klase paplašina A klasi{

public void sub(){

System.out.println(“Sub”);

}

}

Galvenajā funkcijā ir iespējams izveidot B objektu un izsaukt sub(), kas pieder klasei B un sum(), kas pieder klasei A, izmantojot mantošanu.

public static void main(String args){

B obj=jauns B();

obj.sub();

obj.sum();

}

Ir dažādi mantojuma veidi. Tie ir vienreizēja mantošana, daudzkārtēja mantošana, daudzlīmeņu mantošana un hierarhiska mantošana. Vienotā mantojumā ir viena bāzes klase un viena atvasināta klase. Daudzlīmeņu mantojumā ir trīs klases, proti, bāzes klase, starpklase un atvasinātā klase. Starpklase manto no bāzes klases, un atvasinātā klase manto no starpklases. Hierarhiskajā mantojumā ir viena bāzes klase un daudzas atvasinātas klases. Ir īpašs veids, kas pazīstams kā hibrīda mantojums. Tā ir divu vai vairāku mantojuma veidu kombinācija.

Atšķirība starp mantošanu un interfeisu Java
Atšķirība starp mantošanu un interfeisu Java

Attēls 01: Mantojums

Vairākajā mantojumā ir daudzas bāzes klases un viena atvasināta klase. Pieņemsim, ka A un B klase ir bāzes klases. C klase ir atvasinātā klase. Ja gan A, gan B klasēm ir viena un tā pati metode un programmētājs izsauc šo metodi no atvasinātās klases, tas radīs neskaidrības problēmu. Divu klašu mantošana var izraisīt kompilēšanas laika kļūdu. Tāpēc Java netiek atbalstīta vairākkārtēja mantošana. Lai atrisinātu šo problēmu, var izmantot saskarni.

Kas ir Java saskarne?

Abstrakcija ir process, kurā tiek slēpta ieviešanas informācija un lietotājam tiek parādītas tikai funkcionalitātes. Abstrakciju var panākt, izmantojot abstraktās klases vai interfeisus. Abstraktā metode ir metode bez ieviešanas. Klase ar vismaz vienu abstraktu metodi ir abstrakta klase. Abstraktās klases piemērs ir šāds.

abstraktā klase A{

abstract void summa();

}

Pieņemsim, ka ir divas abstraktas klases A un B. Lai īstenotu A un B abstraktās metodes, tiek izveidota jauna klase C. Tad C klasei jāpaplašina gan A, gan B. Taču Java netiek atbalstīta vairākkārtēja mantošana. Tāpēc vajadzētu izmantot saskarnes. Saskarnes var izmantot, lai deklarētu metodes, bet nav iespējams definēt metodes. Nav iespējams izveidot objektu, izmantojot saskarnes. C klasei ir jāievieš visas metodes saskarnēs A un B.

interfeiss A{

void summa();

}

interfeiss B{

void sub();

}

C klases agregāti A, B{

publiskā spēkā neesošā summa(){

System.out.println(“Summēšana”);

}

public void sub(){

System.out.println(“Atņemšana”);

}

}

Tagad galvenajā programmā ir iespējams izveidot C objektu un izsaukt abas metodes.

public static void main (virkne args) {

C obj=jauns C();

obj.sum();

obj.sub();

}

Tātad, saskarnes var izmantot vairāku mantojuma ieviešanai.

Vēl viens interfeisu lietojums ir tas, ka tas nodrošina drošību. Skatiet tālāk norādīto kodu.

interfeiss A {

nederīga summa ();

}

B klase ievieš A {

publiskā spēkā neesošā summa () {

System.out.println(“Summēšana”);

}

publisks spēkā neesošs reizinājums () {

System.out.println(“Reizināšana”);

}

}

Veidojot B objektu, ir iespējams izsaukt abas metodes summa () un reizināt (). Ja programmētājs vēlas ierobežot, izmantojot reizināšanas () funkciju, tas ir iespējams šādi.

public static void main(String args){

A obj=jauns B();

obj.sum();

}

A obj=new B(); izveidos objektu. Tā ir A tipa, un atmiņa ir piešķirta kā B. Ir iespējams izsaukt sum(), bet nevar izpildīt multiply(). Šis ierobežojums tiek veikts, izmantojot saskarnes.

Kādas ir Java mantojuma un interfeisa līdzības?

  • Abi jēdzieni ir saistīti ar objektorientētu programmēšanu
  • Abi apzīmē IS-A attiecības.

Kāda ir atšķirība starp mantošanu un saskarni Java?

Mantojums pret interfeisu Java versijā

Mantojums ir OOP koncepcija, lai no esošajām klasēm iegūtu jaunas klases. Interfeiss ir OOP mehānisms, lai īstenotu abstrakciju un vairākkārtēju pārmantošanu.
Lietošana
Mantojums nodrošina koda atkārtotu izmantošanu. Saskarnes nodrošina abstrakciju un daudzkārtēju pārmantošanu.

Kopsavilkums - mantošana pret interfeisu Java versijā

Java ir vairāku paradigmu programmēšanas valoda, kas atbalsta objektorientētu programmēšanu. Mantojums un saskarnes ir saistītas ar objektorientētu programmēšanu. Atšķirība starp mantošanu un interfeisu ir tāda, ka mantošana nozīmē jaunu klašu atvasināšanu no esošajām klasēm, un saskarnes nozīmē abstraktu klašu un vairāku mantojuma ieviešanu.

Lejupielādēt PDF versiju Mantojums vs interfeiss Java versijā

Varat lejupielādēt šī raksta PDF versiju un izmantot to bezsaistē saskaņā ar atsauces piezīmi. Lūdzu, lejupielādējiet PDF versiju šeit. Atšķirība starp mantošanu un interfeisu Java

Ieteicams: