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.