Junior — Middle
Kā ārējais kods var modificēt klases stāvokli?
sobes.tech AI
Atbilde no AI
Ārējais kods var mainīt klases stāvokli vairākos veidos:
- Caur publiskām metodēm (seteriem) — klase nodrošina metodes, lai mainītu savus laukus, piemēram,
setName(String name). - Caur publiskiem laukiem — ja klases lauki ir deklarēti kā
public, ārējais kods tos var tieši mainīt (neiesaka, jo tas pārkāpj enkapsulāciju). - Izmantojot dizaina modeļus — piemēram, caur Builder modeļa vai metodēm, kas atgriež maināmus objektus.
Kotlin piemērs (Android):
class User {
var name: String = ""
private set // aizliedz tiešu ārēju izmaiņu
fun updateName(newName: String) {
name = newName
}
}
val user = User()
user.updateName("Иван") // stāvokļa maiņa ar metodi
Labākais pieejas veids ir nodrošināt kontrolētu piekļuvi stāvokļa maiņai caur klases metodēm, saglabājot enkapsulāciju.