Podcast o Metódy v objektovo orientovanom programovaní
Metódy v objektovo orientovanom programovaní: Kompletný rozbor
Podcast
Metódy v programovaní
Délka: 4 minut
Kapitoly
Kávovar a programovanie
Čo je to metóda?
Vstupy a výstupy
Ako metóda vyzerá
Preťažovanie metód
Preťaženie metódy
Volanie metódy a zhrnutie
Přepis
Tomáš: Zamyslel si sa niekedy, čo sa stane, keď na kávovare stlačíš tlačidlo „Cappuccino“? Nemusíš mu hovoriť, aby pomlel kávu, zohrial vodu a napenil mlieko. Len stlačíš jedno tlačidlo a všetko sa udeje automaticky. A presne takto funguje kľúčový koncept v programovaní.
Lenka: Presne tak! Táto myšlienka jedného príkazu, ktorý spustí celú sériu krokov, je základom metód. Vitajte pri Studyfi Podcast.
Tomáš: Dobre, Lenka, takže metóda je ako také magické tlačidlo v kóde?
Lenka: V podstate áno. Metóda, niekedy nazývaná aj funkcia alebo procedúra, je pomenovaný blok kódu, ktorý vykoná špecifickú úlohu. Namiesto písania toho istého kódu znova a znova ho jednoducho zabalíš do metódy a potom ju len zavoláš jej menom.
Tomáš: To znie super prakticky. Takže ak chcem desaťkrát v programe vypočítať priemer dvoch čísel, napíšem na to metódu a potom ju len desaťkrát zavolám?
Lenka: Presne! Obrovsky ti to sprehľadní kód a keď nájdeš chybu, opravíš ju len na jednom mieste – v tej metóde. Je to ako mať recept na koláč. Kedykoľvek ho chceš upiecť, siahneš po tom istom recepte.
Tomáš: Fajn, chápem. A ako metóda vie, s akými dátami má pracovať? V recepte sú to ingrediencie, čo je to tu?
Lenka: Skvelá analógia! Predstav si metódu ako čiernu skrinku. Dáš jej nejaké vstupy – to sú takzvané parametre. Vnútri skrinky sa s nimi niečo stane a von vyjde výstup – to je návratová hodnota.
Tomáš: Takže ingrediencie dnu, koláč von.
Lenka: Presne tak. Ale nie každá metóda musí niečo vracať. Niekedy je jej úlohou len niečo urobiť, napríklad vypísať text na obrazovku. Vtedy povieme, že má návratový typ „void“, teda prázdny.
Tomáš: A ako to vyzerá priamo v kóde? Z čoho sa skladá taká deklarácia metódy?
Lenka: Má to pár základných častí. Najprv modifikátor prístupu, napríklad public alebo static, ktorý hovorí, odkiaľ je metóda dostupná. Potom typ návratovej hodnoty – či vracia číslo (int), text (string), alebo nič (void).
Tomáš: Okej, to dáva zmysel.
Lenka: Potom nasleduje meno metódy, napríklad vypocitajPriemer, ktoré píšeme s malým začiatočným písmenom. Za ním sú vždy okrúhle zátvorky, v ktorých sú definované vstupné parametre. A nakoniec, v zložených zátvorkách { } je samotné telo metódy – teda tie príkazy, ktoré sa majú vykonať.
Tomáš: Môžu existovať dve metódy s rovnakým názvom?
Lenka: Áno, a to je veľmi užitočná vec, ktorá sa volá preťažovanie metód! Môžeš mať viacero metód s rovnakým menom, pokiaľ sa líšia v počte alebo type svojich parametrov.
Tomáš: Čiže môžem mať metódu priemer(int a, int b), ktorá vypočíta priemer z dvoch čísel, a zároveň aj priemer(int a, int b, int c) pre tri čísla?
Lenka: Presne tak! Kompilátor sám rozpozná, ktorú verziu má použiť podľa toho, koľko parametrov jej pri volaní poskytneš. Je to ako mať jedno tlačidlo, ktoré vie spraviť malé aj veľké cappuccino.
Tomáš: Takže metódy sú naozaj základné stavebné kamene, ktoré robia kód efektívnym a čitateľným. Super, poďme sa pozrieť na ďalšiu tému.
Tomáš: A sme pri našej poslednej, no veľmi dôležitej téme pre dnešok: metódy v Jave. Konkrétne, čo je to preťaženie metódy, Lenka?
Lenka: Je to super vec! Predstav si, že máš metódu priemer. Jedna verzia môže počítať priemer z dvoch čísel... a druhá, s rovnakým menom, z troch.
Tomáš: Takže Java vie, ktorú použiť, podľa toho, koľko čísel jej dám? To je celkom šikovné.
Lenka: Presne tak! Volá sa to preťaženie metódy. Je to ako mať jeden recept, ale s variáciami pre malý alebo veľký koláč. Super praktické.
Tomáš: Rozumiem. A ako takú metódu reálne spustíme v programe?
Lenka: Jednoducho ju zavoláš jej menom. Určite už poznáš volania ako WriteLine(). Keď zavoláš našu vlastnú metódu, napríklad Spocitaj(3, 5), jej výsledok si uložíš do premennej.
Tomáš: Skvelé. Takže, aby sme to zhrnuli pre našich poslucháčov... metódy sú opakovane použiteľné bloky kódu, preťaženie nám dáva flexibilitu a volaním ich aktivujeme. Zvládli sme toho dnes dosť.
Lenka: To teda áno! Dúfam, že to bolo užitočné. Ja som Lenka.
Tomáš: A ja Tomáš. Ďakujeme, že ste nás počúvali a tešíme sa na vás nabudúce pri Studyfi Podcaste!