Studijní materiály
EXTRA Kontakt

Zapouzdření

Zapouzdření v OOP se týká ukrytí vnitřních detailů objektu a poskytování veřejných rozhraní pro interakci s daty. V Pythonu se toto dosahuje pomocí konvence, kdy se proměnné, které by měly být chráněny, začínají podtržítkem.

class BankovniUcet:
    def __init__(self, majitel, zustatek):
        self.majitel = majitel
        self.__zustatek = zustatek

    def vloz_penez(self, castka):
        if castka > 0:
            self.__zustatek += castka

    def vyber_penez(self, castka):
        if castka <= self.__zustatek:
            self.__zustatek -= castka

    def zobraz_zustatek(self):
        return self.__zustatek

V tomto příkladu je proměnná __zustatek zapouzdřena a není přímo přístupná zvenčí. Přístup k ní je umožněn pouze prostřednictvím veřejných metod.