Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 1. diel - Úvod do objektovo orientovaného programovania v Pythone

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Veronika Viková:8. apríla 19:03

Text mi po prvním přečtení vůbec nic neřekl :-( Zkusím to ještě několikrát a třeba pochopím, co se tam píše - pro začátečníka je to neuchopitelný text.

Avatar
DarkCoder
Člen
Avatar
Odpovedá na Veronika Viková
DarkCoder:8. apríla 20:00

Nedivím se, vysvětlení OOP není v článku příliš zřetelné. Je třeba pochopit to, že charakteristika objektu (atributy) a chování objektu (metody) jsou vázané k objektu (instanci), který je vytvářen podle určité šablony (třída).

Když pak objekt něco dělá (chování objektu), pak se volají příslušné metody (funkce uvnitř třídy) objektu, které si berou data jež charakterizují objekt. Tedy z atributů.

Znovu připomínám, atributy a metody se vztahují k objektu, který je vytvořen podle třídy. Nejsou tedy někde samostatně. Tvoří tedy celistvou jednotku, což zjednodušuje práci.

Později na příkladech to pak bude lépe vidět a pochopíš co výše uvedený text znamená.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
DarkCoder
Člen
Avatar
Odpovedá na Veronika Viková
DarkCoder:8. apríla 20:24

Pro představu jednoduchý příklad:

# šablona - Definice třídy Auto
class Auto:
    # Atributy třídy

    rychlost = 0        # atribut rychlost s nulovým počátečním stavem

    # Metody třídy

    # Metoda, která nastaví rychlost dle přírůstku
    def zrychlit(self, prirustek):
        self.rychlost += prirustek

    # Metoda, která nastaví rychlost na nulu
    def zastavit(self):
        self.rychlost = 0

# Vytvoření instance (objektu) třídy Auto
moje_auto = Auto()

# Použití metody na instanci
moje_auto.zrychlit(50)  # Zrychlí auto o 50
print(moje_auto.rychlost)  # Vytiskne aktuální rychlost auta (50)

# Další použití metody na instanci
moje_auto.zastavit()  # Zastaví auto
print(moje_auto.rychlost)  # Vytiskne aktuální rychlost auta (0)

Z příkladu je patrné, jak charakteristika (atributy) a chování (metody) jsou součástí objektu a jak se s nimi operuje.

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Milan Pavlíček:20. júna 15:05

uz zde se objevuje kód:
"kalkulacka = Kalkulacka()
kalkulacka.sec­ti(83, -2)",
ale tento kód je vysvětlen až v další lekci

Avatar
DarkCoder
Člen
Avatar
DarkCoder:20. júna 16:13

Ještě si jen pro ilustraci ukažme opět náš příklad, tentokrát v objektech. Funkce secti() již nikde volně nepoletuje, ale patří objektu Kalkulacka, který je jednou z komponent naší aplikace.

Když už jsme u těch neancí v malém a velkém písmenu, bylo by dobré to uvádět správně. Kalkulačka s velkým K není objekt ale třída, kalkulačka s malým k je objekt (instance třídy Kalkulačka).

Takže buď řeknu - s důrazem na třídu:

„Funkce secti() již nikde volně nepoletuje, ale je metodou třídy Kalkulacka, která je jednou z komponent naší aplikace.“

nebo s důrazem na objekt:

„Funkce secti() již nikde volně nepoletuje, ale je volána jako metoda na objektu kalkulacka, který je instancí třídy Kalkulacka.“

Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Marcel Štunda:18. septembra 15:07

nedostatočne vysvetlené syntaxy a použité kľúčové slová v lekcii, má to byť vysvetlené tak aby to nemohlo byť zameniteľné a domýšľané si ako to funguje. plus každej lekcii chýba celkové priemerné hodnotenie(re­cenzie) od všetkých ľudí ktorí to hodnotili. veľmi rád by som sa na to pozrel a odvíjal od toho celkové "učivo" v ktorom je strašne veľa omáčok aby to človek mal všetko čítať a nechať tam len konkrétne veci. ak si chcem prečítať časopis tak si prečítam časopis a nie kecy okolo toho.

Avatar
DarkCoder
Člen
Avatar
DarkCoder:27. októbra 9:43

Můj původní příklad v diskuzi s třídou auto není úplně správný. Jde o to, že třída má třídní atribut rychlost který je sdílen napříč všemi instancemi této třídy. Atribut rychlost by tedy správně měl být instanční, neboť chování každého auta by mělo být nezávislé. V příkladu dochází k vytvoření instančního atributu za běhu a do třídního se nic nepřiřazuje. Toto chování je matoucí a tak přidávám správnou verzi používající již instanční atribut na začátku.

class Auto:
    def __init__(self):
        # Instanční atribut – každý objekt (auto) má svůj vlastní
        self.rychlost = 0

    def zrychlit(self, prirustek):
        # Zvýší rychlost o zadaný přírůstek
        self.rychlost += prirustek

    def zastavit(self):
        # Nastaví rychlost na nulu
        self.rychlost = 0


# --- Vytvoření dvou nezávislých aut ---
auto1 = Auto()
auto2 = Auto()

# --- Práce s prvním autem ---
auto1.zrychlit(50)
print("Auto 1 – rychlost po zrychlení:", auto1.rychlost)  # 50

# --- Práce s druhým autem ---
auto2.zrychlit(80)
print("Auto 2 – rychlost po zrychlení:", auto2.rychlost)  # 80

# --- Zastavení prvního auta ---
auto1.zastavit()
print("Auto 1 – rychlost po zastavení:", auto1.rychlost)  # 0

# --- Ověření, že druhé auto zůstalo beze změny ---
print("Auto 2 – rychlost stále:", auto2.rychlost)  # 80
Odpovedať
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Peter Šupka
Člen
Avatar
Peter Šupka:1. novembra 10:57

Pripada mi, ze tento uvod da cloveku velmi malo pridanej hodnoty.. rozumiem, ze je to pre zaciatok, ale o OOP tam toho je naozaj velmi malo.

Odpovedať
Všetko sa dá naučiť...
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 8 správy z 28.