Sobes.tech
Junior — Middle

Чӣ гуна коди хориҷӣ метавонад ҳолати синфро тағир диҳад?

sobes.tech AI

Ҷавоб аз AI

Барномаи хориҷӣ метавонад ҳолати синфро бо чанд роҳ тағйир диҳад:

  1. Тарзи истифодаи методҳои умумӣ (setters) — синф методҳоро барои тағйир додани майдонҳояш медиҳад, масалан setName(String name).
  2. Тарзи истифодаи майдонҳои умумӣ — агар майдонҳои синф ҳамчун public эълон шаванд, барномаи хориҷӣ метавонад онҳоро мустақиман тағйир диҳад (намуъо нест, зеро ин қоидаҳои инкапсулятсияро вайрон мекунад).
  3. Истифодаи намунаҳои тарҳрезӣ — масалан, тавассути намунаи Builder ё методҳое, ки объектҳои тағйирёбандаро бармегардонанд.

Масалан дар Kotlin (Android):

class User {
    var name: String = ""
        private set // манъ мекунем тағйироти мустақим аз берун

    fun updateName(newName: String) {
        name = newName
    }
}

val user = User()
user.updateName("Иван") // тағйироти ҳолат тавассути метод

Беҳтарин роҳ ин аст, ки дастрасии назоратшавандаро барои тағйир додани ҳолат тавассути методҳои синф таъмин кунед, ҳифзи инкапсулятсияро нигоҳ доред.