Senior
Există un constructor într-o clasă abstractă?
sobes.tech AI
Răspuns de la AI
Da, într-o clasă abstractă poate exista un constructor. O clasă abstractă este o clasă care nu este destinată să creeze instanțe direct, dar poate conține o implementare, inclusiv un constructor.
Constructorul unei clase abstracte este de obicei folosit pentru a inițializa câmpuri comune sau pentru a executa logică comună, care va fi moștenită de subclase.
Exemplu în C++:
class AbstractBase {
public:
AbstractBase(int value) : data(value) {}
virtual void doSomething() = 0; // funcție virtuală pură
protected:
int data;
};
class Derived : public AbstractBase {
public:
Derived(int value) : AbstractBase(value) {}
void doSomething() override {
// implementare
}
};
Aici, constructorul AbstractBase este apelat din constructorul clasei derivate pentru a inițializa câmpul data. Astfel, prezența unui constructor într-o clasă abstractă este o practică normală.