Ú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 this uvnitř 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.html a script.js.

  • Do stránky se vypisuje pomocí document.write().


Požadovaný výstup:
  1. Vytvoř objekt kniha s vlastnostmi nazev, autorJmeno, autorPrijmeni, rok.

  2. Přidej metodu autorCeleJmeno(), která vrátí celé jméno autora spojením jména a příjmení.

  3. Přidej metodu popis(), která vrátí větu ve tvaru:
    „Kniha [název] vydaná v roce [rok], autor: [celé jméno].“

  4. Zavolej obě metody a výsledek vypiš do stránky.

  5. 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 kniha má vlastnosti nazev, 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