Sobes.tech
Junior — Middle

Tashqi kod qanday qilib sinf holatini o'zgartirishi mumkin?

sobes.tech AI

AIdan javob

Tashqi kod bir sinfning holatini bir necha usul bilan o'zgartirishi mumkin:

  1. Jamoat metodlar (setters) orqali — sinf o'z maydonlarini o'zgartirish uchun metodlar taqdim etadi, masalan setName(String name).
  2. Jamoat maydonlar orqali — agar sinf maydonlari public sifatida e'lon qilingan bo'lsa, tashqi kod ularni to'g'ridan-to'g'ri o'zgartirishi mumkin (enkapsulatsiyani buzganligi uchun tavsiya etilmaydi).
  3. Dizayn shablonlaridan foydalanish — masalan, Builder shabloni yoki o'zgartiriladigan obyektlarni qaytaradigan metodlar orqali.

Kotlin (Android) misoli:

class User {
    var name: String = ""
        private set // tashqaridan to'g'ridan-to'g'ri o'zgartirish taqiqlanadi

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

val user = User()
user.updateName("Иван") // holatni metod orqali o'zgartirish

Shuning uchun, eng yaxshi yondashuv — sinf metodlari orqali holatni o'zgartirishga nazoratli kirishni ta'minlash, enkapsulatsiyani saqlab qolish.