Senior
Heeft een abstracte klasse een constructor?
sobes.tech AI
Antwoord van AI
Ja, een abstracte klasse kan een constructor hebben. Een abstracte klasse is een klasse die niet bedoeld is om direct instanties te maken, maar wel een implementatie kan bevatten, inclusief een constructor.
De constructor van een abstracte klasse wordt meestal gebruikt om gemeenschappelijke velden te initialiseren of gemeenschappelijke logica uit te voeren die door subklassen wordt geërfd.
Voorbeeld in C++:
class AbstractBase {
public:
AbstractBase(int value) : data(value) {}
virtual void doSomething() = 0; // pure virtuele functie
protected:
int data;
};
class Derived : public AbstractBase {
public:
Derived(int value) : AbstractBase(value) {}
void doSomething() override {
// implementatie
}
};
Hier wordt de constructor AbstractBase aangeroepen vanuit de constructor van de afgeleide klasse om het veld data te initialiseren. Het hebben van een constructor in een abstracte klasse is dus een normale praktijk.