Junior
Čo sú inštančné premenné?
sobes.tech AI
Odpoveď od AI
Premenné inštancie (instance variables) sú premenné, ktoré patria ku konkrétnemu výtlačku (objektu) triedy. Pre každý objekt sa vytvorí jeho vlastná kópia týchto premenných.
- Definujú sa vnútri triedy, ale mimo metód.
- Sú dostupné z ktorejkoľvek metódy tej istej triedy.
- Ich hodnota je jedinečná pre každý výtlačok objektu.
- Sú inicializované pri vytvorení výtlačku triedy (napríklad v konštruktore).
Príklad v Jave:
public class Dog {
String name; // premenná inštancie
public Dog(String name) {
this.name = name;
}
public void printName() {
System.out.println("Môj názov je " + this.name);
}
}
// Vytváranie výtlačkov
Dog dog1 = new Dog("Buddy");
Dog dog2 = new Dog("Lucy");
// Každý výtlačok má svoj 'name'
dog1.printName(); // Výstup: Môj názov je Buddy
dog2.printName(); // Výstup: Môj názov je Lucy
Porovnávacia tabuľka:
| Premenná | Príslušnosť | Rozsah viditeľnosti | Životný cyklus | Inicializácia |
|---|---|---|---|---|
| Inštančná | Pre každý výtlačok objektu | Vo vnútri výtlačku | Tak dlho, ako výtlačok existuje | Pri vytvorení výtlačku (konštruktor) |
| Statická (triedna) | Pre celú triedu (jedna pre všetkých) | V celej triede (často public) | Do konca behu programu | Pri načítaní triedy |
| Lokálna | Pre metódu alebo blok kódu | Vo vnútri metódy/bloku, kde je deklarovaná | Iba počas behu metódy/bloku | Musí byť inicializovaná pred použitím |