Beim Erstellen einer abstrakten Klasse, deren Verarbeitung zu diesem Zeitpunkt noch nicht entschieden ist Verwenden Sie ** Zusammenfassung **
sample
public abstract class Classicmusic {
//Abstrakte Klasse über klassische Musik
public abstract String getCountry();
//Abstrakte Methode, um das Herkunftsland zu erhalten
//Rückkehr Herkunftsland des Komponisten
public abstract String[] getmusicList();
//Abstrakte Methode, um eine Songliste zu erhalten
//return Liste der repräsentativen Songs
Eine Klasse, die auch nur eine abstrakte Methode ** implementiert, muss eine abstrakte Klasse mit abstract ** sein. Und die abstrakte Klasse kann nicht mit neu instanziiert werden. Hinweis) Es ist möglich, nicht abstrakte Methoden auch in abstrakten Klassen zu implementieren.
Die abstrakte Methode wird von der untergeordneten Klasse ** implementiert, um den Inhalt des Prozesses zu bestimmen. ** ** ** Verwendung erweitert ** beim Erben ** der Zusammenfassung.
sample
public class Bach extends Classicmusic {
public String getCountry() {
return "Deutschland";
}
public String[] getmusicList() {
String[] mList = {"Goldberg-Variationen","Italienisches Konzert","Britische Suite"};
return mpList;
}
Klassen, die von abstrakten Methoden erben, müssen abstrakte Methoden implementieren. Der Inhalt des Prozesses wird ** durch die geerbte Klasse ** bestimmt **. Das Bestimmen des Inhalts einer bis dahin unentschlossenen Methode wird als ** Implementierung ** bezeichnet. Wenn die geerbte abstrakte Methode nicht implementiert ist, tritt ein Kompilierungsfehler auf.
Auf diese Weise können Sie die Implementierung an die geerbte untergeordnete Klasse delegieren. Auf diese Weise wird durch den Prozess, dass der zu implementierende Inhalt nicht entschieden wird, sondern als abstrakte Methode implementiert werden muss, ** Sie können die Implementierung erzwingen **.
Klassen mit einem besonders hohen Abstraktionsgrad können als ** Schnittstellen ** behandelt werden.
Als Bedingung, um als Schnittstelle zu behandeln ** - Alle Methoden sind abstrakte Methoden ** ** · Hat keine Felder ** Muss sein
sample
public abstract class Classicmusic {
public abstract String getCountry();
public abstract String[] getmusicList();
}
//Die Schnittstelle kann wie folgt sein.
public interface Classicmusic {
String getCountry();
String[] getmusicList();
}
//Verwenden Sie beim Implementieren einer Schnittstelle Implementierungen anstelle von Erweiterungen.
public class Bach implements Classicmusic
Recommended Posts