Können abstrakte Klassen Konstruktoren besitzen?
Trotz der abstrakten Natur abstrakter Klassen unterstützen sie tatsächlich die Anwesenheit von Konstruktoren.
Verwendung und Zwecke abstrakter Klassenkonstruktoren
Ein abstrakter Klassenkonstruktor dient verschiedenen Zwecken:
Beispiel
Betrachten Sie den folgenden Codeausschnitt:
abstract class Product { int multiplyBy; public Product( int multiplyBy ) { this.multiplyBy = multiplyBy; } public int mutiply(int val) { return multiplyBy * val; } } class TimesTwo extends Product { public TimesTwo() { super(2); } } class TimesWhat extends Product { public TimesWhat(int what) { super(what); } }
In diesem Beispiel besitzt die abstrakte Klasse Product einen Konstruktor das legt das multiplyBy-Feld fest. Die Unterklassen TimesTwo und TimesWhat überschreiben diesen Konstruktor, um eine benutzerdefinierte Initialisierung bereitzustellen.
Hinweis:
Es ist wichtig zu beachten, dass abstrakte Klassen keine Standardkonstruktoren besitzen, daher müssen Unterklassen dies explizit tun Rufen Sie den übergeordneten Konstruktor mit super.
aufDas obige ist der detaillierte Inhalt vonKönnen abstrakte Klassen Konstruktoren haben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!