Rekommenderas, 2024

Redaktionen

Skillnad mellan utökar och implementerar sökord i Java

Nyckelorden sträcker sig och redskap används för att ärva funktionerna i ett redan befintligt förälderblock i nyskapade barnblock. Med hjälp av förlänger sökord kan en nyskapad klass (underklass) erva egenskaper av en befintlig klass (superklass). Genom att använda redskapsord kan en nybildad klass implementera alla metoder för ett gränssnitt. Den primära skillnaden mellan nyckelord sträcker sig och implementerar är att en klass utökar en annan klass för att ärva alla medlemmar medan en klass implementerar ett gränssnitt för att ärva alla metoder och implementera dem enligt dess krav. Det finns några andra skillnader mellan nyckelord sträcker sig och redskapen diskuteras i ett jämförelseskartong som visas nedan.

Jämförelsetabeller

Grunder för jämförelseförlängerredskap
GrundläggandeDet utvidgade sökordet används för att skapa en underklass med hjälp av funktioner i en superklass.Redskapets sökord används för att implementera ett gränssnitt
metoderDet utvidgade sökordet kan inte åsidosätta alla metoder för en superklass.Redskapsverktyget måste implementera alla metoder för ett implementerat gränssnitt.
KlassEn klass kan endast förlänga en superklass.En klass kan implementera flera gränssnitt.
GränssnittEtt gränssnitt kan utöka mer än ett gränssnitt.Ett gränssnitt kan inte implementera ett annat gränssnitt.

Definition av utökar sökord

Erfarenhet är ett viktigt begrepp i objektorienterad programmering, uppnås när en underklass utökar en annan superklass. En underklass får endast förlänga en superklass. En klass kan aldrig utöka mer än en superklass i Java. När en klass utökar en annan klass kan den bryta mot de metoder som definieras i en superklass. Låt oss förstå sökordet sträcker sig med hjälp av ett exempel.

 klass A {sträng s; A (String s1) {s = s1; } // visningssträng tomt display () {System.out.println (+ s); }} Klass B utökar A {String i; B (String s1, String i1) {super (s1); i = i1; } void dispaly () {super.dispaly (); / * display () av ​​klass A påkallad. * / System.out.println (+ i); }} klass Åsidosätt {public static void main (String args []) {B ob = ny B (Tech, Differences); ob.display (); / * visning av klass B påkallad * /}} / * utställd * / Tech Skillnader 

I ovanstående kod kan du observera att klass B har förlängt klass A och har överskridit metoddisplayen () definierad i klass A. På samma sätt kan ett gränssnitt utöka mer än ett gränssnitt åt gången. Som gränssnitt behöver man inte implementera någon metod för det utökade gränssnittet, sålunda är det tillåtet att ärva ihop flera gränssnitt i taget.

Definition av redskapsordlista

Med hjälp av nyckelordet implementerar en klass alla metoder i ett gränssnitt. När en klass implementerar ett gränssnitt måste den klassen implementera alla metoder för implementerat gränssnitt. Ett gränssnitt kan aldrig implementera ett annat gränssnitt, eftersom implementerar sökordslöften implementering av metoderna, men ett gränssnitt implementerar aldrig metoder i det, så det är omöjligt för ett gränssnitt att implementera ett annat gränssnitt. Låt oss förstå implementera sökord med hjälp av ett exempel.

 gränssnittssträngar {void display (String s); } gränssnittets heltal {void show (int i); } klass Demo implementerar strängar, heltal {void show (int i) {System.Out.Println ("heltal värde:" + i); } tomrumsvisning (sträng s) {System.Out.Println ("strängvärde:" + s); }} klass Demo_main {public static void main (sträng args []) {Demo d = new Demo (); d.display ( "TechDifferences"); d.show (2); }} / * utgång * / TechDifferences 2 

Som i koden ovan kan du se att klassdemo implementerar två gränssnittsträngar och heltal och har implementerat de metoder som deklarerats i både gränssnitt som visas () och visa ().

Viktiga skillnader mellan sträcker sig och implementerar

  1. En klass kan ärva en annan klass, eller ett gränssnitt ärvererar andra gränssnitt med hjälp av ett nyckelord sträcker sig medan en klass kan implementera en gränssnitt med hjälp av ett sökordsverktyg.
  2. En underklass som utökar en superklass kan eller inte åsidosätta alla metoder i en superklass. Å andra sidan måste en klass som implementerar ett gränssnitt definiera / genomföra alla metoder i det gränssnittet.
  3. En klass kan implementera ett antal gränssnitt samtidigt. Å andra sidan kan en klass förlänga endast en superklass.
  4. Ett gränssnitt kan utöka ett antal gränssnitt, men ett gränssnitt kan aldrig implementera något annat gränssnitt som implementeringsmedel som definierar metoderna och gränssnittet har alltid abstrakta metoder så att ett gränssnitt aldrig kan implementera ett annat gränssnitt.

Slutsats:

Jag avslutar diskussionen med att implementera ett gränssnitt gör koden mer flexibel än att utöka en klass. Eftersom det undviker begränsningen av att arva endast en superklass i Java. Med hjälp av redskapsord kan en klass arva egenskaper av flera gränssnitt.

Top