Sobes.tech
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:

  1. Caur publiskām metodēm (seteriem) — klase nodrošina metodes, lai mainītu savus laukus, piemēram, setName(String name).
  2. 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).
  3. 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.