- Objektově orientované programování (OOP) je programovací paradigma, které využívá objekty a třídy k organizaci a struktuře kódu.
- Základy OOP zahrnují třídy, objekty a zasílání zpráv mezi objekty.
Třídy
- Třída je šablona pro vytváření objektů.
- Definuje atributy (data) a metody (funkce), které objekty mohou mít.
- V Pythonu se třída definuje pomocí klíčového slova
class
.
definice třídy a její metody
Objekt:
- Objekt je konkrétní instance třídy.
- Vytváří se pomocí konstruktoru třídy (typicky metody
__init__()
). - Každý objekt má své vlastní atributy a může volat metody třídy.
Vytvoření objektu a zavolání metody
greet
Zasílání zpráv:
- Zasílání zpráv (messaging) je základním konceptem v objektově orientovaném programování (OOP) a označuje proces volání metod objektů.
- Zde je zjednodušený popis toho, jak probíhá zasílání zpráv v OOP:
- Identifikace objektu:
- Prvním krokem je identifikace objektu, kterému chceme poslat zprávu.
- Objekty jsou instance tříd obsahující data (atributy) a funkce (metody).
- Volání metody:
- Poté, co je objekt identifikován, můžeme na něj “poslat zprávu” voláním jeho metody.
- To znamená vykonání určité akce nebo manipulaci s daty uvnitř objektu.
- Zpracování metody:
- Když je metoda volána, objekt přijme zprávu a provede kód přiřazený k dané metodě.
- To může zahrnovat manipulaci s atributy objektu nebo provádění dalších akcí.
- Výsledek:
- Po provedení kódu v metodě může být vrácen výsledek operace (pokud je to vhodné) nebo může být provedena jiná akce v souladu s logikou aplikace.
zasílání zpráv
- uvažujme třídu
Car
, která má metodudrive()
- pokud vytvoříme instanci této třídy a zavoláme její metodu
drive()
, proces zasílání zpráv proběhne následovně:
- Identifikace objektu:
my_car
je identifikován jako instance třídyCar
.- Volání metody: Voláme metodu
drive()
na objektumy_car
.- Zpracování metody: Objekt
my_car
přijímá zprávu a provádí kód v metodědrive()
, tedy vypíše zprávu o tom, že auto jede.- Výsledek: Výstup bude “Toyota Corolla is driving.”.
Navigace
Předchozí: Moduly v jazyce Python a jejich importování Následující: Principy objektového programování - zapouzdření, polymorfismus a dědičnost Celý okruh: 3. Programovací jazyky a programování