Senior
Existe um construtor numa classe abstrata?
sobes.tech IA
Resposta da IA
Sim, uma classe abstrata pode ter um construtor. Uma classe abstrata é uma classe que não é destinada a criar instâncias diretamente, mas pode conter uma implementação, incluindo um construtor.
O construtor de uma classe abstrata geralmente é usado para inicializar campos comuns ou executar lógica comum que será herdada por subclasses.
Exemplo em C++:
class AbstractBase {
public:
AbstractBase(int value) : data(value) {}
virtual void doSomething() = 0; // função virtual pura
protected:
int data;
};
class Derived : public AbstractBase {
public:
Derived(int value) : AbstractBase(value) {}
void doSomething() override {
// implementação
}
};
Aqui, o construtor AbstractBase é chamado a partir do construtor da classe derivada para inicializar o campo data. Assim, ter um construtor em uma classe abstrata é uma prática normal.