Senior
C'è un costruttore in una classe astratta?
sobes.tech AI
Risposta dell'AI
Sì, una classe astratta può avere un costruttore. Una classe astratta è una classe che non è destinata a creare istanze direttamente, ma può contenere un'implementazione, incluso un costruttore.
Il costruttore di una classe astratta viene generalmente usato per inizializzare campi comuni o eseguire logica comune che sarà ereditata dalle sottoclassi.
Esempio in C++:
class AbstractBase {
public:
AbstractBase(int value) : data(value) {}
virtual void doSomething() = 0; // funzione virtuale pura
protected:
int data;
};
class Derived : public AbstractBase {
public:
Derived(int value) : AbstractBase(value) {}
void doSomething() override {
// implementazione
}
};
Qui, il costruttore AbstractBase viene chiamato dal costruttore della classe derivata per inizializzare il campo data. Quindi, la presenza di un costruttore in una classe astratta è una pratica normale.