Úloha 5 – Práce s this a volání metod objektu
| Website: | Moodle ZČU |
| Kurs: | Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný) |
| Buch: | Úloha 5 – Práce s this a volání metod objektu |
| Gedruckt von: | Gast |
| Datum: | Sonntag, 18. Oktober 2026, 05:58 |
Úvod do úlohy
Práce s objekty není jen o ukládání dat do vlastností – velmi důležitým krokem je naučit se zapouzdřovat (enkapsulovat) logiku přímo do objektů pomocí metod. V praxi se často setkáme s kódem, kde se opakovaně přistupuje k více vlastnostem objektu a kombinuje je do výpočtů nebo textových výstupů. Pokud tuto logiku zabalíme do metody objektu, kód se stane přehlednější, snadno se udržuje a lze jej znovu použít na více místech. To je klíčová dovednost pro psaní kvalitního JavaScriptu.
Teorie a principy
-
Metoda objektu je funkce uložená jako hodnota některé z jeho vlastností.
-
Umožňuje objektu nejen uchovávat data, ale také provádět akce související s těmito daty.
-
Metody zvyšují čitelnost: místo opakovaného spojování vlastností napíšeme jediné volání
objekt.metoda(). -
Metody podporují princip DRY (Don’t Repeat Yourself) – logiku zapíšeme jednou a znovu využíváme.
-
Přístup k vlastnostem uvnitř metody se řeší pomocí klíčového slova
this, které odkazuje na daný objekt.
Praktické příklady kódu
Typické chyby / záludnosti
-
Zapomenutí použít
thisuvnitř metody:Správně:
-
Zbytečné duplikace logiky – studenti někdy opakují stejný kód na více místech místo toho, aby jej zabalili do jediné metody.
-
Přístup k metodám – metody se volají se závorkami
(). Pokud zapomeneme závorky, odkazujeme jen na samotnou funkci, ne na výsledek.
Shrnutí
-
Metody jsou funkce uvnitř objektů, které zapouzdřují logiku související s jeho daty.
-
Používáme klíčové slovo
this, abychom se uvnitř metody odkazovali na aktuální objekt. -
Refaktoring s metodami zlepšuje čitelnost, znovupoužitelnost a zabraňuje opakovanému kódu.
-
V praxi je dobré identifikovat fragmenty, kde se kombinují stejné vlastnosti, a nahradit je metodou objektu.
Úloha
Zadání (kontext úlohy):
Máš vytvořit objekt, který uchovává informace o jedné knize. Kromě samotných vlastností (název, autor, rok vydání) bude objekt obsahovat i metody, které s těmito daty pracují. Díky metodám budeš moct snadno získat celé jméno autora i stručný popis knihy.
Cíl úlohy:
Procvičit si vytváření metod uvnitř objektu, práci s klíčovým slovem this a jejich volání.
Vstupní podmínky:
-
Student pracuje se soubory
index.htmlascript.js. -
Do stránky se vypisuje pomocí
document.write().
Požadovaný výstup:
-
Vytvoř objekt
knihas vlastnostminazev,autorJmeno,autorPrijmeni,rok. -
Přidej metodu
autorCeleJmeno(), která vrátí celé jméno autora spojením jména a příjmení. -
Přidej metodu
popis(), která vrátí větu ve tvaru:
„Kniha [název] vydaná v roce [rok], autor: [celé jméno].“ -
Zavolej obě metody a výsledek vypiš do stránky.
-
Změň hodnotu roku a znovu vypiš popis, aby bylo vidět, že metoda reaguje na nové údaje.
Doplňující pokyny:
-
V metodách používej
this, abys přistupoval k vlastnostem objektu. -
Při volání metod nezapomeň na závorky
(). -
Výpisy odděluj pomocí
<br>pro čitelnost.
Řešení úlohy
Co je zde splněno
-
Objekt
knihamá vlastnostinazev,autorJmeno,autorPrijmeni,rok. -
Přidána metoda
autorCeleJmeno()– vrací celé jméno autora. -
Přidána metoda
popis()– vrací větu s názvem, rokem a autorem. -
Metody byly zavolány a výsledky vypsány.
-
Změněna hodnota roku a metoda
popis()ukazuje nový výsledek