Programovanie (1) v C/C++
1-INF-127, ZS 2024/25

Úvod · Pravidlá · Prednášky · Softvér · Testovač
· Kontaktujte nás pomocou e-mailovej adresy E-prg.png (bude odpovedať ten z nás, kto má príslušnú otázku na starosti alebo kto má práve čas).
· Prosíme študentov, aby si pravidelne čítali e-maily na @uniba.sk adrese alebo aby si tieto emaily preposielali na adresu, ktorú pravidelne čítajú.


Letný semester, prednáška č. 2: Rozdiel medzi revíziami

Z Programovanie
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

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:


Konštruktory a inicializácia objektov

Referencie na objekty

Kľúčové slovo this

Modifikátory prístupu

Zapuzdrenie

Metódy get a set

Preťažovanie metód

Statické vs. nestatické metódy

Ďalšie príklady

Odkazy