Sobes.tech
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.