Sobes.tech
Senior

Mücərrəd sinifdə qurucu var mı?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, abstrakt sinifdə konstruktor ola bilər. Abstrakt sinif, birbaşa nümunələr yaratmaq üçün nəzərdə tutulmayıb, lakin tərkibində implementasiya, o cümlədən konstruktor ola bilər.

Abstrakt sinifin konstruktoru adətən ümumi sahələri başlatmaq və ya ümumi loqikanı yerinə yetirmək üçün istifadə olunur və bu, alt siniflər tərəfindən miras alınacaq.

C++ nümunəsi:

class AbstractBase {
public:
    AbstractBase(int value) : data(value) {}
    virtual void doSomething() = 0; // saf virtual funksiya
protected:
    int data;
};

class Derived : public AbstractBase {
public:
    Derived(int value) : AbstractBase(value) {}
    void doSomething() override {
        // implementasiya
    }
};

Burada, AbstractBase konstruktoru, data sahəsini başlatmaq üçün törəmə sinfin konstruktorundan çağırılır. Buna görə, abstrakt sinifdə konstruktorun olması adi bir praktikadır.