Programovanie s Python ti otvára mnoho možností, ktoré presahujú základné skripty. Centrálna komponenta v objektovo orientovanom programovaní je práca so triedami. Tieto tvoria základ pre objekty a umožňujú ti vytvárať a spravovať komplexné dátové štruktúry. V tejto príručke sa naučíš, ako definovať vlastné triedy v Pythone, aby si efektívne využíval ich vlastnosti a metódy.
Najdôležitejšie poznatky
- Triedy sú kľúčom k objektovo orientovanému programovaniu v Pythone.
- Initializer (konštruktor) ti umožňuje pri vytváraní triedy definovať špecifické vlastnosti.
- Metódy v triedach ti umožňujú zabalit funkcie, ktoré pracujú s vlastnosťami objektu.
- Prístup k vlastnostiam sa vykonáva cez bodový operátor.
Podrobný návod
Začnime so základmi budovania tried v Pythone. Najskôr musíš pomocou kľúčového slova class definovať novú triedu. Môžeš to spraviť vo svojom Pythonskom kóde takto:

Tu máme prázdnu triedu s názvom Zamestnanec. Môžeš ju definovať najskôr bez parametrov, čo znamená, že trieda je vytvorená bez špecifickej inicializácie. To je dôležitý základ pre zabezpečenie, aby si neskôr nedostal chyby pri vytváraní objektov.
Teraz vytvor objekt tejto triedy. Stačí použiť názov triedy a dať prázdne zátvorky:
V tomto prípade máme objekt Zamestnanec, ktorý sme práve vytvorili. Ďalším krokom je rozšíriť triedu o vlastnosti. Napríklad by si mohol pridať meno k triede Zamestnanec.
Najprv musíš na to definovať inicializátor, ktorý slúži ako konštruktor tvojej triedy. To sa deje pomocou metódy __init__.

Tu vidíš, ako je definovaný konštruktor __init__. Predáme meno ako parameter a použijeme self, aby sme uložili meno pre aktuálny objekt.
Teraz, keď máš jednu vlastnosť, môžeš pri vytváraní objektu priamo zadať meno:

Ak teraz vytvoríš objekt účastník s menom "Jan", meno bude uložené v inštancii. Prostredníctvom automatického dokončovania môžeš skontrolovať, či bolo meno správne nastavené.
Aby si mohol využívať vlastnosti, môžeš ich zavolať pomocou bodového operátora:

To je bod, v ktorom môžeš pristupovať k vlastnostiam svojho objektu. V tomto prípade vytlačíš meno účastníka.
Okrem vlastností môžeš implementovať aj metódy. Vytvorenie metódy funguje podobne ako definovanie funkcie:

Tu definuješ metódu prihlásiť. Opäť si všimni, že self je automaticky predávané ako parameter do metódy, aby si mohol pristupovať k inštancii. Pri prihlásení by sme napríklad mohli vytlačiť správu o úspechu:

Keď zavoláš metódu prihlásiť, vyzerá to nasledovne:

Tu voláš metódu na inštancii účastník, čo poskytuje spätnú väzbu k prihláseniu.
Na záver môžeme tiež predávať parametre metódam, podobne ako pri funkciách. Napríklad metóda odhlásiť, ktorá očakáva parameter pre predčasné odhlásenie:

Tu analyzuješ, či sa účastník chce odhlásiť predčasne a poskytneš správenu správu.
ScreenShot_320
To ti ukazuje, aké interaktívne môžu byť tvoje triedy a metódy a ako reagujú na vstupy.
Na záver by sme mali ešte raz zhrnúť základné princípy, ktoré sme sa naučili. Definícia tried spočíva v definovaní atribútov a metód, ktoré sú relevantné pre príslušné objekty. Konštruktor __init__ je kľúčový na nastavenie atribútov pri vytváraní objektu.
Zhrnutie – Vytváranie a využívanie vlastných tried v Pythone
Pochopením a aplikovaním týchto základných princípov môžeš vytvárať v Pythone výkonné a flexibilné programy. Môžeš vytvárať triedy, ktoré zabalujú špecifické funkcie a vlastnosti, aby si programovanie spravil užívateľsky prívetivejším a účinnejším.
Často kladené otázky
Kako definujem triedu v Pythone?Použi kľúčové slovo class, nasledované názvom triedy a dvojbodkou.
Aký je účel konštruktora __init__?Používa sa na vykonanie inicializácií pri vytváraní objektu.
Kako pristupujem vlastnostiam objektu?Použi bodový operátor, následovaný názvom vlastnosti, napr. objekt.vlastnosť.
Môžem predávať viacero parametrov metóde?Áno, môžeš definovať metódy, ktoré akceptujú viacero parametrov.
Môžem používať funkcie vo svojich triedach?Áno, metódy sú nič iné ako funkcie, ktoré sú viazané na triedu.