Sobes.tech
Junior — Middle

Ar būtina, kad klasėje būtų konstruktorius, kad ji tinkamai veiktų?

sobes.tech AI

Atsakymas iš AI

Konstruktoriaus buvimas klasėje ne visada yra būtinas jos teisingam veikimui. Jei klasėje nėra deklaruotas joks konstruktorius, kompiliatorius automatiškai sukuria numatytąjį be parametrų konstruktorių.

Tačiau, jei reikalinga inicializacija su parametrais arba speciali logika kuriant objektą, konstruktorius turi būti aiškiai deklaruotas.

Pavyzdys Swift kalba:

class Person {
    var name: String
    
    // Konstruktorius yra privalomas, nes yra privaloma savybė be numatytosios reikšmės
    init(name: String) {
        self.name = name
    }
}

Jei visos savybės turi numatytąsias reikšmes, konstruktoriaus rašyti nereikia, ir klasė veiks teisingai.