1 changed files with 53 additions and 0 deletions
@ -0,0 +1,53 @@ |
|||
#Anatomie třídy |
|||
|
|||
#klíčové slovo "class" začína definici podobně jako def |
|||
#jméno třídy začína s Velkým písmenem |
|||
class Robot: |
|||
#KONSTRUKTOR |
|||
#volá se automaticky když tvoříme nový objekt |
|||
#napřiklad -> r = Robot("Karel") |
|||
def __init__(self, jmeno, barva): |
|||
#self s ukazovadlem na SEBE SAMA |
|||
#bez self by python nevěděl na kterého robota "ukázat" |
|||
self.jmeno = jmeno |
|||
self.barva = barva #Atribut (vlastnost) z parametru |
|||
self.energie = 100 #Atribut s výchozí hodnotou |
|||
print(f"Robot {self.jmeno} byl právě vyroben!") |
|||
|
|||
#Metody (schopnost/sloveso) |
|||
#první parametr musí být vždy SELF |
|||
def pozdrav(self): |
|||
print(f"Píp Píp. Já jsem {self.jmeno}.") |
|||
print(f"Moje barva je {self.barva}. ☺") |
|||
print(f"Nyní mám {self.energie}% energie.\n") |
|||
|
|||
def pracuj(self,hodiny): |
|||
spotreba = hodiny * 10 |
|||
if self.energie >= spotreba: |
|||
self.energie -= spotreba |
|||
print(f"Robot {self.jmeno} pracoval {hodiny}h") |
|||
print(f"Energie: {self.energie}%\n") |
|||
else: |
|||
print(f"Robot {self.jmeno}: Nedostatek energie! potřebuji dobít") |
|||
|
|||
def odpocivej(self,hodiny): |
|||
nabiti = hodiny * 40 |
|||
self.energie += nabiti |
|||
if self.energie>=100: self.energie = 100 |
|||
print(f"Robot {self.jmeno} si odpočinul na {hodiny}h") |
|||
print(f"Nyní je nabitý na {self.energie}%\n") |
|||
# JAK TO POUŽÍT V PROGRAMU? |
|||
|
|||
# 1. vytvořit instanci objektu (třída je jako šablona pro objekty) |
|||
karel = Robot("Karel","stříbrná") |
|||
emil = Robot("Emil","modrá") |
|||
|
|||
# 2. volání metod |
|||
karel.pozdrav() |
|||
emil.pozdrav() |
|||
|
|||
karel.pracuj(3) |
|||
emil.pracuj(5) |
|||
emil.odpocivej(1) |
|||
emil.pracuj(6) |
|||
emil.odpocivej(2) |
|||
Loading…
Reference in new issue