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