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.