Sobes.tech
Junior

Nima uchun instansiya o'zgaruvchilari?

sobes.tech AI

AIdan javob

Instance variables (ob'ektga tegishli o'zgaruvchilar) - bu sinfning aniq bir nusxasiga (obyektiga) tegishli o'zgaruvchilardir. Har bir obyekt uchun bu o'zgaruvchilarning o'z nusxasi yaratiladi.

  • Sinf ichida, lekin metodlardan tashqarida aniqlanadi.
  • Bu o'zgaruvchilar, ayniqsa, shu sinfning har qanday metodidan foydalanish mumkin.
  • Ularning qiymati har bir obyekt uchun noyobdir.
  • Ular sinf nusxasi yaratilganda (masalan, konstruktor yordamida) boshlanadi.

Java misoli:

public class Dog {
    String name; // obyektga tegishli o'zgaruvchi

    public Dog(String name) {
        this.name = name;
    }

    public void printName() {
        System.out.println("Mening ismim " + this.name);
    }
}

// Nusxalar yaratish
Dog dog1 = new Dog("Buddy");
Dog dog2 = new Dog("Lucy");

// Har bir nusxaning o'z 'name' qiymati bor
dog1.printName(); // Chiqish: Mening ismim Buddy
dog2.printName(); // Chiqish: Mening ismim Lucy

Taqqoslash jadvali:

O'zgaruvchi Tegishli bo'lgan obyekt Ko'rinish doirasi Hayot sikli Boshlash
Obyektga tegishli Har bir obyekt nusxasi uchun Obyekt ichida Obyekt mavjud bo'lgunga qadar Obyekt yaratilganda (konstruktor)
Statik (sinf) Butun sinf uchun (hamma uchun bitta) Sinf bo'ylab (odatda public) Dastur tugaguncha Sinfa yuklanganda
Mahalliy Metod yoki kod blokiga tegishli Aniqlangan metod/blok ichida Faqat metod/blok bajarilayotgan paytda Foydalanishdan oldin boshlash kerak