Junior — Middle
Czy możesz wyjaśnić, co oznacza właściwość statyczna w programowaniu obiektowym?
sobes.tech AI
Odpowiedź od AI
Właściwość statyczna w programowaniu obiektowym to właściwość klasy, a nie konkretnego egzemplarza. Należy do samej klasy i jest współdzielona przez wszystkie obiekty tej klasy.
Na przykład, jeśli masz klasę Car i posiada ona właściwość statyczną numberOfCars, to ta właściwość będzie wspólna dla wszystkich obiektów Car i może być używana do zliczania łącznej liczby stworzonych samochodów.
W Swift wygląda to tak:
class Car {
static var numberOfCars = 0
init() {
Car.numberOfCars += 1
}
}
let car1 = Car()
let car2 = Car()
print(Car.numberOfCars) // Wyświetli 2
W związku z tym, właściwości statyczne są przydatne do przechowywania danych, które mają być wspólne dla wszystkich instancji klasy.