Sobes.tech
Junior — Middle

Můžete vysvětlit, co znamená statická vlastnost v objektově orientovaném programování?

sobes.tech AI

Odpověď od AI

Statická vlastnost v objektově orientovaném programování je vlastnost třídy, nikoliv konkrétní instance. Patří přímo třídě a je sdílena všemi objekty této třídy.

Například pokud máte třídu Car, a má statickou vlastnost numberOfCars, tato vlastnost bude společná pro všechny objekty Car a může být použita k počítání celkového počtu vytvořených aut.

V Swift vypadá takto:

class Car {
    static var numberOfCars = 0
    init() {
        Car.numberOfCars += 1
    }
}

let car1 = Car()
let car2 = Car()
print(Car.numberOfCars) // Vypíše 2

Proto jsou statické vlastnosti užitečné pro uchovávání dat, která mají být společná pro všechny instance třídy.