Sobes.tech
Junior — Middle

Előírja-e, hogy a osztálynak konstruktorral kell rendelkeznie a helyes működéshez?

sobes.tech MI

Válasz az MI-től

Az osztályban lévő konstruktor megléte nem mindig szükséges a helyes működéshez. Ha az osztályban nem deklarálunk konstruktort, a fordító automatikusan létrehoz egy alapértelmezett, paraméter nélküli konstruktort.

Azonban, ha paraméteres inicializálásra vagy különleges logikára van szükség az objektum létrehozásakor, akkor a konstruktort explicit módon kell deklarálni.

Swift példában:

class Person {
    var name: String
    
    // A konstruktor kötelező, mivel van egy kötelező tulajdonság érték nélkül
    init(name: String) {
        self.name = name
    }
}

Ha minden tulajdonságnak van alapértelmezett értéke, nem szükséges írni konstruktort, és az osztály helyesen fog működni.