Senior
Y a-t-il un constructeur dans une classe abstraite?
sobes.tech IA
Réponse de l'IA
Oui, une classe abstraite peut avoir un constructeur. Une classe abstraite est une classe qui n'est pas destinée à créer des instances directement, mais peut contenir une implémentation, y compris un constructeur.
Le constructeur d'une classe abstraite est généralement utilisé pour initialiser des champs communs ou effectuer une logique commune qui sera héritée par les sous-classes.
Exemple en C++ :
class AbstractBase {
public:
AbstractBase(int value) : data(value) {}
virtual void doSomething() = 0; // fonction virtuelle pure
protected:
int data;
};
class Derived : public AbstractBase {
public:
Derived(int value) : AbstractBase(value) {}
void doSomething() override {
// implémentation
}
};
Ici, le constructeur AbstractBase est appelé depuis le constructeur de la classe dérivée pour initialiser le champ data. Ainsi, la présence d'un constructeur dans une classe abstraite est une pratique normale.