diff --git a/12/priklad.py b/12/priklad.py new file mode 100644 index 0000000..e69de29 diff --git a/12/tridy_a_objekty.md b/12/tridy_a_objekty.md new file mode 100644 index 0000000..a57d246 --- /dev/null +++ b/12/tridy_a_objekty.md @@ -0,0 +1,29 @@ +# Třídy a Objekty + +Třídy v programování popisují nějaký "typ" určité hodnoty. +Například hodnota `1` je typu `int`, hodnota `'ahoj'` je typu `str` - typy jsou třídy a hodnoty objekty. +Třídy popisují jen obecné vlastnosti a činnosti (funkce, u tříd se jim říká metody). + +Objekty jsou instance třídy, které mají nějaké konktrétní hodnoty. + +Takhle vypadá definice třídy v pythonu: +```python +class Clovek: # tridy se nazyvaji s velkym pocatecnim pismenem + def __init__(self, age, height): + self.age = age # self.age patri objektu, age je argument metody + self.height = height +``` +Metoda `__init__` je tzv. konstruktor, čili je volána vždy když tvoříme objekt. +`self` je proměnná do které se automaticky přiřadí objekt. + +Takle vypadá konstrukce objektu třídy člověk: +```python +x = Clovek(18, 180) +``` +Je dobré si všimnout, že při konstrukci jsme dali metodě `__init__` jen dva argumenty, i když v definici bere tři. +To je proto, že objekt se automaticky přiřadí k proměnné `self` (nebo jakékoli proměnné která bude na začátku). +Protože `__init__` je konstruktor, tak k self se přiřadí prázdný objekt, kterému potom dáváme nějaké vlastnosti. +Je to lechce podobný proces jako při práci se slovníky: +```python + +```