Senior
Hat eine abstrakte Klasse einen Konstruktor?
sobes.tech KI
Antwort von AI
Ja, eine abstrakte Klasse kann einen Konstruktor haben. Eine abstrakte Klasse ist eine Klasse, die nicht dazu bestimmt ist, direkt Instanzen zu erstellen, aber eine Implementierung enthalten kann, einschließlich eines Konstruktors.
Der Konstruktor einer abstrakten Klasse wird normalerweise verwendet, um gemeinsame Felder zu initialisieren oder gemeinsame Logik auszuführen, die von Unterklassen geerbt wird.
Beispiel in C++:
class AbstractBase {
public:
AbstractBase(int value) : data(value) {}
virtual void doSomething() = 0; // reine virtuelle Funktion
protected:
int data;
};
class Derived : public AbstractBase {
public:
Derived(int value) : AbstractBase(value) {}
void doSomething() override {
// Implementierung
}
};
Hier wird der Konstruktor AbstractBase vom Konstruktor der abgeleiteten Klasse aufgerufen, um das Feld data zu initialisieren. Daher ist das Vorhandensein eines Konstruktors in einer abstrakten Klasse eine normale Praxis.