Zhrnutie na Metódy v objektovo orientovanom programovaní

Metódy v OOP: Kompletný sprievodca pre programátorov

Úvod

Metódy (nazývané aj funkcie alebo procedúry) sú pomenované bloky kódu, ktoré umožňujú opakované použitie logiky a rozdelenie programu na zrozumiteľné časti. Tento materiál vysvetľuje, čo sú metódy, aké majú časti, ako sa líšia typy metód a čo znamená preťažovanie metód. Príklady sú všeobecné a zamerané na princípy, nie na konkrétny jazyk implementácie.

Definícia: Metóda je pomenovaný samostatný blok kódu, ktorý vykonáva určitú úlohu, môže prijímať vstupy (parametre) a môže vrátiť výstup (návratovú hodnotu).

Základné pojmy a časti metódy

Časti deklarácie metódy

  • Modifikátor prístupu — určuje viditeľnosť (napr. public, private, static).
  • Typ návratovej hodnoty — dátový typ, ktorý metóda vráti (napr. int, double, char) alebo void, ak metóda nič nevracia.
  • Meno metódy — identifikátor metódy; konvencia: začína malým písmenom.
  • Parametre — zoznam formálnych vstupov vo zátvorkách s uvedeným typom a menom.
  • Telo metódy — blok v zložených zátvorkách { }, obsahuje vykonávané príkazy.
  • Príkaz return — používa sa na vrátenie hodnoty (ak typ návratu nie je void).

Definícia: Parameter je pomenovaná premenná v hlavičke metódy, cez ktorú metóda prijíma vstupné hodnoty.

Vstupy a výstupy (čierna skrinka)

Predstavme si metódu ako čiernu skrinku: vstupy sú parametre, skrinka vykoná výpočty v tele a výsledok sa vráti ako výstup.

Typy metód

Typ metódyAko sa pristupujePoznámka
Metódy triedy (statické)cez názov triedy alebo s modifikátorom staticNie je potrebná inštancia triedy
Metódy inštanciecez inštanciu objektu (napr. obj.metoda())Pristupujú k stavu objektu (poliam)

Príklady (ilustratívne)

  1. Metóda bez parametra s návratovou hodnotou
class XY {
  static double priemer(double a, double b) {
    double c;
    c = (a + b) / 2;
    return c;
  }
}

V tomto príklade metóda priemer má dva parametre typu double a vracia double.

  1. Metóda bez parametra vracajúca hodnotu
public int nacitaj() {
  int x = 5;
  return x;
}
  1. Metóda bez návratovej hodnoty (void)
public void vypis() {
  Console.Write("Ahoj svet");
}
  1. Metóda s parametrom a bez návratovej hodnoty
public void vypis(int x) {
  int obvod = x;
  Console.Write("Obvod obdĺžnika je " + obvod);
}

Definícia: Metóda typu void nevykonáva return s hodnotou; môže však použiť return; na skorý návrat bez hodnoty.

Metóda s parametrami a návratovou hodnotou — príklad maximum

public int maximum(int a, int b, int c) {
  if (a > b)
    if (a > c)
      return a;
    else
      return c;
  else if (b > c)
    return b;
  else
    return c;
}

Tento príklad ukazuje vetvenie a viacero miest, kde sa vracia výsledok.

Preťažovanie metód (overloading)

Preťažovanie znamená definovať viac metód so stejným menom, ale s rôznymi podpismi (počet parametrov alebo typy parametrov). Výhoda: rovnaký názov pre podobné operácie s rôznym vstupom.

Definícia: Preťažovanie metód je vytvorenie viacerých metód rovnakého mena s rôznymi parametrami (počíta sa ich počet a typy), kompilátor/ prostredie rozhodne podľa volania.

Príklad:

private int citatel = 5;
private int menovatel = 2;

public int delenie() {
  return citatel / menovatel; // používa polia triedy
}

public int delenie(int citatel, int menovatel) {
  return citatel / menovatel; // používa parametre
}

Tabuľka porovnania preťažovania:

KriteriumMetóda AMetóda B
Menodeleniedelenie
Počet parametrov02
Použitiepoužíva členy triedypoužíva vstupné parametre
💡 Vedeli ste?Fun fact: Preťažovanie metód existuje v mnohých jazykoch a zlepšuje čitateľnosť kódu tým, že umožňuje použiť rovnaké meno pre podobné operácie s rôznymi vstupmi.

Dobre praktiky pri návrhu metód

  • Držte metódy krátke a zamerané na jednu úlohu.
  • Používajte zrozumiteľné mená, ktoré opisujú čo metóda robí.
  • Minimalizu
Zaregistruj sa pre celé zhrnutie
KartičkyTest znalostíZhrnutiePodcastMyšlienková mapa
Začni zadarmo

Už máš účet? Prihlásiť sa

Metódy a preťažovanie

Klíčová slova: Programovanie — metódy a preťažovanie, Programovanie v jazyku (metódy a preťaženie)

Klíčové pojmy: Metóda je pomenovaný blok kódu s parametrami a voliteľnou návratovou hodnotou, Deklarácia metódy obsahuje modifikátor, návratový typ, meno, parametre a telo, Typ návratovej hodnoty môže byť konkrétny typ alebo void, Metóda triedy (static) sa volá na úrovni triedy, inštančná cez objekt, Preťažovanie = rovnaké meno, rôzne podpisy (počet/typ parametrov), Používajte return na vrátenie hodnoty ak návratový typ nie je void, Pri preťažovaní zachovajte konzistentné správanie medzi overloadmi, Metódy by mali byť krátke a zamerané na jednu úlohu, Dokumentujte vstupy, výstupy a možné chyby metódy, Minimalizujte vedľajšie efekty v metódach

## Úvod Metódy (nazývané aj funkcie alebo procedúry) sú pomenované bloky kódu, ktoré umožňujú opakované použitie logiky a rozdelenie programu na zrozumiteľné časti. Tento materiál vysvetľuje, čo sú metódy, aké majú časti, ako sa líšia typy metód a čo znamená preťažovanie metód. Príklady sú všeobecné a zamerané na princípy, nie na konkrétny jazyk implementácie. > **Definícia:** Metóda je pomenovaný samostatný blok kódu, ktorý vykonáva určitú úlohu, môže prijímať vstupy (parametre) a môže vrátiť výstup (návratovú hodnotu). ## Základné pojmy a časti metódy ### Časti deklarácie metódy - **Modifikátor prístupu** — určuje viditeľnosť (napr. `public`, `private`, `static`). - **Typ návratovej hodnoty** — dátový typ, ktorý metóda vráti (napr. `int`, `double`, `char`) alebo `void`, ak metóda nič nevracia. - **Meno metódy** — identifikátor metódy; konvencia: začína malým písmenom. - **Parametre** — zoznam formálnych vstupov vo zátvorkách s uvedeným typom a menom. - **Telo metódy** — blok v zložených zátvorkách `{ }`, obsahuje vykonávané príkazy. - **Príkaz return** — používa sa na vrátenie hodnoty (ak typ návratu nie je `void`). > **Definícia:** Parameter je pomenovaná premenná v hlavičke metódy, cez ktorú metóda prijíma vstupné hodnoty. ### Vstupy a výstupy (čierna skrinka) Predstavme si metódu ako čiernu skrinku: vstupy sú parametre, skrinka vykoná výpočty v tele a výsledok sa vráti ako výstup. ## Typy metód | Typ metódy | Ako sa pristupuje | Poznámka | |---|---:|---| | Metódy triedy (statické) | cez názov triedy alebo s modifikátorom `static` | Nie je potrebná inštancia triedy | | Metódy inštancie | cez inštanciu objektu (napr. `obj.metoda()`) | Pristupujú k stavu objektu (poliam) | ### Príklady (ilustratívne) 1) Metóda bez parametra s návratovou hodnotou ```text class XY { static double priemer(double a, double b) { double c; c = (a + b) / 2; return c; } } ``` V tomto príklade metóda `priemer` má dva parametre typu `double` a vracia `double`. 2) Metóda bez parametra vracajúca hodnotu ```text public int nacitaj() { int x = 5; return x; } ``` 3) Metóda bez návratovej hodnoty (void) ```text public void vypis() { Console.Write("Ahoj svet"); } ``` 4) Metóda s parametrom a bez návratovej hodnoty ```text public void vypis(int x) { int obvod = x; Console.Write("Obvod obdĺžnika je " + obvod); } ``` > **Definícia:** Metóda typu `void` nevykonáva `return` s hodnotou; môže však použiť `return;` na skorý návrat bez hodnoty. ## Metóda s parametrami a návratovou hodnotou — príklad maximum ```text public int maximum(int a, int b, int c) { if (a > b) if (a > c) return a; else return c; else if (b > c) return b; else return c; } ``` Tento príklad ukazuje vetvenie a viacero miest, kde sa vracia výsledok. ## Preťažovanie metód (overloading) Preťažovanie znamená definovať viac metód so **stejným menom**, ale s rôznymi podpismi (počet parametrov alebo typy parametrov). Výhoda: rovnaký názov pre podobné operácie s rôznym vstupom. > **Definícia:** Preťažovanie metód je vytvorenie viacerých metód rovnakého mena s rôznymi parametrami (počíta sa ich počet a typy), kompilátor/ prostredie rozhodne podľa volania. Príklad: ```text private int citatel = 5; private int menovatel = 2; public int delenie() { return citatel / menovatel; // používa polia triedy } public int delenie(int citatel, int menovatel) { return citatel / menovatel; // používa parametre } ``` Tabuľka porovnania preťažovania: | Kriterium | Metóda A | Metóda B | |---|---:|---:| | Meno | delenie | delenie | | Počet parametrov | 0 | 2 | | Použitie | používa členy triedy | používa vstupné parametre | Fun fact: Preťažovanie metód existuje v mnohých jazykoch a zlepšuje čitateľnosť kódu tým, že umožňuje použiť rovnaké meno pre podobné operácie s rôznymi vstupmi. ## Dobre praktiky pri návrhu metód - Držte metódy krátke a zamerané na jednu úlohu. - Používajte zrozumiteľné mená, ktoré opisujú čo metóda robí. - Minimalizu