Teilweise Implementierung einer Schnittstelle
Dass nur eine kleine Menge von Zeit, um die Suche für solche Sachen, ich konnte nichts sehen, mein bestimmtes Szenario.
Arbeite ich mit einem 3rd-party-Schnittstelle. Lassen Sie uns sagen, für einen moment ist es wie folgt:
public interface interface1
{
public String getVar1();
public void method1();
public void method2();
}
Muss ich erstellen Sie eine Reihe von Klassen, die dieses interface, aber die tatsächliche Methode, die Umsetzung von "methode2" würde sich auf jeden,wo, wie "methode1" und "getVar1" immer der gleiche code.
Gibt es eine Möglichkeit zu schaffen, eine abstrakte Basisklasse, die die Schnittstelle implementiert, sondern nur Kräfte, die Umsetzung der "methode2" auf die Kind-Klassen?
Hatte ich versucht
public abstract @Override void method2
aber dies ist zwar "akzeptabel" zur design-Zeit im Netbeans (weiß nicht, ob Eclipse verhält sich das anders) zur compile-Zeit beschwert es sich, dass methode2 muss umgesetzt werden.
Wenn es nicht möglich ist, fair genug, ich brauche nur zu schauen.
Dank
method2
InformationsquelleAutor Paul Eden | 2013-09-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dies tun, indem Sie erstellen eine abstrakte Klasse, die die Schnittstelle implementiert. Jede sub-Klasse von dieser abstrakten Klasse werden benötigt für die Implementierung von interface-Methoden, die noch nicht definiert.
Finden Sie unter: Java-tutorial auf abstrakte Klassen.
InformationsquelleAutor Tim Cooper
Können Sie erstellen eine abstrakte Klasse, die nicht implementiert
method2()
Dann erstellen Sie mehrere Implementierungen:
Ups, ich vergaß hinzuzufügen
implements interface1
. Korrigiert dies. Danke für die infoInformationsquelleAutor micha
Können Sie eine
abstract Class
, liefert die Umsetzung für "Methode 1" und "getVar1" aberdecalre method2 as abstract
in dieser Klasse.Nun Erben von dieser Abstrakten Super-Klasse in allen Klassen!!!
Wie
InformationsquelleAutor Nargis
In diesem Fall haben Sie 3 abstrakten Methoden des interface überschrieben werden können, eine oder zwei Methoden und anderen Methoden bleiben als abstrakte
InformationsquelleAutor alexvipul
Bitte Bearbeiten Sie Ihre Antwort, und fügen Sie einige Informationen, wie für diesen code.
InformationsquelleAutor Jayswal Mihir