Junior — Middle
Чӣ гуна коди хориҷӣ метавонад ҳолати синфро тағир диҳад?
sobes.tech AI
Ҷавоб аз AI
Барномаи хориҷӣ метавонад ҳолати синфро бо чанд роҳ тағйир диҳад:
- Тарзи истифодаи методҳои умумӣ (setters) — синф методҳоро барои тағйир додани майдонҳояш медиҳад, масалан
setName(String name). - Тарзи истифодаи майдонҳои умумӣ — агар майдонҳои синф ҳамчун
publicэълон шаванд, барномаи хориҷӣ метавонад онҳоро мустақиман тағйир диҳад (намуъо нест, зеро ин қоидаҳои инкапсулятсияро вайрон мекунад). - Истифодаи намунаҳои тарҳрезӣ — масалан, тавассути намунаи Builder ё методҳое, ки объектҳои тағйирёбандаро бармегардонанд.
Масалан дар Kotlin (Android):
class User {
var name: String = ""
private set // манъ мекунем тағйироти мустақим аз берун
fun updateName(newName: String) {
name = newName
}
}
val user = User()
user.updateName("Иван") // тағйироти ҳолат тавассути метод
Беҳтарин роҳ ин аст, ки дастрасии назоратшавандаро барои тағйир додани ҳолат тавассути методҳои синф таъмин кунед, ҳифзи инкапсулятсияро нигоҳ доред.