Tillämpningar vs förlänger
Implementerar och förlänger är två nyckelord som finns i Java-programmeringsspråket som ger möjlighet till överföring av tilläggsfunktioner till en ny klass. Implements sökord används uttryckligen för att implementera ett gränssnitt, medan Extends-nyckelord används för att ärva från en (super) klass. Observera att begreppen arv och gränssnitt finns i de flesta andra objektorienterade programmeringsspråk som C # och VB.NET, men de erbjuder olika syntax eller nyckelord för att tillämpa dessa begrepp. Den här artikeln fokuserar bara på implementeringar och utökar nyckelord som definierats i Java.
förlänger
Extends-nyckelord används för att genomföra begreppet arv i Java-programmeringsspråket. Erfarenhet tillhandahåller i grunden kodåteranvändning genom att tillåta förlängning av egenskaper och beteende hos en befintlig klass med en ny definierad klass. När en ny underklass (eller härledd klass) utökar en superklass (eller förälderklass) så kommer denna underklass att arva alla attribut och metoder för superklassen. Underklassen kan eventuellt åsidosätta beteendet (ge ny eller utvidgad funktionalitet till metoder) ärvda från förälderklassen. En underklass kan inte utöka flera superklasser i Java. Därför kan du inte använda sträcker sig för flera arv. För att få flera arv måste du använda gränssnitt som förklaras nedan.
redskap
Implementerar sökord i Java-programmeringsspråket används för att implementera ett gränssnitt av en klass. Ett gränssnitt i Java är en abstrakt typ som används för att ange ett kontrakt som ska genomföras av klasser, vilket implementerar det gränssnittet. Vanligtvis kommer ett gränssnitt endast att innehålla metod signaturer och konstanta deklarationer. Varje gränssnitt som implementerar ett visst gränssnitt ska genomföra alla metoder som definieras i gränssnittet, eller bör deklareras som en abstrakt klass. I Java kan typen av en objektreferens definieras som en gränssnittstyp. Men det objektet måste antingen vara noll eller borde inneha ett föremål för en klass, som implementerar det speciella gränssnittet. Genom att använda Implements sökord i Java kan du implementera flera gränssnitt till en enda klass. Ett gränssnitt kan inte implementera ett annat gränssnitt. Ett gränssnitt kan dock förlänga en klass.
Skillnad mellan redskap och förlängningar
Även om implementeringar och utökningar är två nyckelord som tillhandahåller en mekanism för att ärva egenskaper och beteende till en klass i Java-programmeringsspråk, används de för två olika ändamål. Implements sökord används för en klass för att implementera ett visst gränssnitt, medan Extends-nyckelord används för en underklass som sträcker sig från en superklass. När en klass implementerar ett gränssnitt måste den klassen implementera alla metoder som definieras i gränssnittet, men när en underklass utökar en superklass, kan det eller inte överväga metoderna i föräldrarklassen. Slutligen är en annan viktig skillnad mellan Implementer och Extends det, en klass kan implementera flera gränssnitt, men det kan bara sträcka sig från en superklass i Java. I allmänhet anses användningen av Implementer (gränssnitt) mer gynnsam jämfört med användningen av Extends (arv) av flera skäl som högre flexibilitet och förmågan att minimera koppling. Därför är det i praktiken föredraget att programmera till ett gränssnitt över att sträcka sig från basklasser.