Jakub Škrabánek 4 weeks ago
parent
commit
7c0f04741e
  1. 36
      34_oop_next/zapouzdreni.py

36
34_oop_next/zapouzdreni.py

@ -0,0 +1,36 @@
#zapouzdření aneb jak chránit data a jak učit objekty "mluvit"
class Postava:
def __init__(self,jmeno,hp):
self.jmeno = jmeno
#Zapozdření
#podržítko na začátku je dohoda programátorů
# "Tato hodnoda je soukromá, neměn ji přímo zvenčí!"
self._hp = hp
self.max_hp = hp
#Magická metoda __str__
# Python ji volá automaticky když napíšeme print(objekt)
def __str__(self):
return f"Postava {self.jmeno} | Hp: {self._hp}/{self.max_hp}"
def utrp_zraneni(self,sila):
self._hp -= sila
if self._hp < 0 :
self._hp = 0
print(f"{self.jmeno} zranen o {sila} bodů")
def vylecit(self,body):
self._hp += body
if self._hp > self.max_hp:
self._hp = self.max_hp
print(f"{self.jmeno} se vyléčil")
hrdina = Postava("Aragorn", 100)
print(hrdina)
hrdina.utrp_zraneni(30)
print(hrdina)
hrdina.vylecit(20000000)
print(hrdina)
Loading…
Cancel
Save