Junior
Kas ir statiskās mainīgās?
sobes.tech AI
Atbilde no AI
Statiskās mainīgās pieder klasei, nevis konkrētam eksemplāram. Tās pastāv vienā eksemplārā visa programmas darbības laikā un tiek dalītas starp visiem šīs klases objektiem. Mainot statisko mainīgo vienā objektā, tas būs redzams arī citos objektos.
Galvenās īpašības:
- Piederība: klasei.
- Eksemplāru skaits: viens uz klasi.
- Dzīves ilgums: no klases ielādes līdz programmas beigām.
- Piekļuve: Parasti caur klases nosaukumu
ClassName.staticVariable, lai gan piekļuve caur eksemplāru ir arī iespējama (neieteicama). - Inicializācija: vienu reizi, ielādējot klasi.
Piemēri izmantošanai:
- Skaitītājs izveidotajiem klases objektiem.
- Kopīgas konstantes visai klasei.
- Koplietošanas resursi, kurus pārvalda klase.
Java piemērs:
class MyClass {
static int counter = 0; // Statiskā mainīgā
public MyClass() {
counter++; // Palielina statisko skaitītāju, izveidojot objektu
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Izvade: 2
}
}
Python piemērs:
class MyClass:
counter = 0 # Statiskā mainīgā
def __init__(self):
MyClass.counter += 1 # Palielina statisko skaitītāju
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Izvade: 2
if __name__ == "__main__":
main()