Programovanie (1) v C/C++
1-INF-127, ZS 2024/25
Letný semester, prednáška č. 2: Rozdiel medzi revíziami
Skočit na navigaci
Skočit na vyhledávání
Riadok 26: | Riadok 26: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Inštanciami tejto triedy, t.j. objektmi typu <tt>Fraction</tt>, sú konkrétne realizácie triedy <tt>Fraction</tt> (napr. zlomok s čitateľom 2 a menovateľom 3). O spôsobe ich vytvorenia si povieme o chvíľu. | + | Inštanciami tejto triedy, t.j. objektmi typu <tt>Fraction</tt>, sú konkrétne realizácie triedy <tt>Fraction</tt> (napr. zlomok s čitateľom 2 a menovateľom 3). O spôsobe ich vytvorenia si povieme o chvíľu. Avšak v prípade, že už máme nejakú inštanciu <tt>fraction</tt> triedy <tt>Fraction</tt> vytvorenú, môžeme hodnotu zlomku vypísať napríklad nasledovne: |
+ | <syntaxhighlight lang="java"> | ||
+ | Fraction fraction; | ||
+ | |||
+ | // Sem pride vytvorenie instancie triedy Fraction a jej priradenie do premennej fraction. | ||
+ | |||
+ | System.out.println(fraction.evaluate()); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ''Príklad'': | ||
+ | |||
+ | <syntaxhighlight lang="java"> | ||
+ | |||
+ | </syntaxhighlight> | ||
<!-- co je a co nie je objekt --> | <!-- co je a co nie je objekt --> |
Verzia zo dňa a času 19:16, 18. február 2021
Obsah
Oznamy
- Na test pre pokročilých sa v prípade záujmu treba prihlásiť do utorka 23. februára, 11:30.
- Prvú bonusovú úlohu treba odovzdať do stredy 24. februára, 11:30.
Základné koncepty objektovo orientovaného programovania
Objekty a triedy
Dvoma najzákladnejšími konceptmi objektovo orientovaného programovania (OOP) sú triedy a objekty.
- Trieda (angl. class) je typ, ktorý podobne ako struct v C/C++ môže združovať údaje rôznych typov. Okrem toho ale obvykle obsahuje aj definície metód na manipuláciu s týmito údajmi.
- Objekt (angl. object) je inštancia triedy – obsahuje teda už nejakú konkrétnu sadu údajov vyhovujúcu definícii triedy, na ktorú možno aplikovať metódy triedy.
- Triedu teda možno chápať ako „vzor”, podľa ktorého sa vytvárajú objekty.
Príklad: nasledujúca trieda Fraction reprezentuje jeden zlomok. Obsahuje dve premenné numerator a denominator zodpovedajúce čitateľu a menovateľu zlomku a metódu na vyhodnotenie zlomku.
public class Fraction {
int numerator;
int denominator;
double evaluate() {
return (double) numerator / denominator;
}
}
Inštanciami tejto triedy, t.j. objektmi typu Fraction, sú konkrétne realizácie triedy Fraction (napr. zlomok s čitateľom 2 a menovateľom 3). O spôsobe ich vytvorenia si povieme o chvíľu. Avšak v prípade, že už máme nejakú inštanciu fraction triedy Fraction vytvorenú, môžeme hodnotu zlomku vypísať napríklad nasledovne:
Fraction fraction;
// Sem pride vytvorenie instancie triedy Fraction a jej priradenie do premennej fraction.
System.out.println(fraction.evaluate());
Príklad: