4. Objektovo orientované programovanie

Objektovo orientované programovanie (OOP) je programovanie pomocou objektov.

Objekty

Objekt (object) je základným stavebným kameňom vývoja aplikácii a každý program napísaný v jazyku Java obsahuje minimálne jeden objekt. Je to softvérový zväzok premenných a príbuzných metód (metóda je funkcia definovaná v triede).
Softvérové objekty si môžeme predstaviť ako skutočné objekty z nášho života. Všetko, čo tieto objekty vedia (stav) alebo čo môžu robiť (správanie), je vyjadrené premennými a metódami. [7]


Ako objekt si môžeme predstaviť napr. auto. Tento príklad je len na pochopenie princípu premenných a metód:

public class Auto
{
    // premenné pre uloženie údajov o aute 
    private int rýchlosť;
    private int početNajazdenýchKilometrov;

    // metóda na zistenie rýchlosti auta 
    public void zistiRýchlosť()
		{
		return rýchlosť;
		}

    // metóda na nastavenie rýchlosti auta 
    public void nastavRýchlosť(int nováRýchlosť)
		{
		rýchlosť = nováRýchlosť;
		}

    // metóda, ktorá vyvolá poruchu auta, keď sa počet najazdených km rovná 1000 
    public boolean porucha()
		{
		if(početNajazdenýchKilometrov <1000)
			return true;
		else
			return false;
		}
}
[7]



V uvedenom príklade sme použili premenné rýchlosť a početNajazdenýchKilometrov. Metódy zistiRýchlosť, nastavRýchlosť a porucha predstavujú vlastnosti alebo správanie objektu. Metódy často využívajú premenné k tomu, aby mohli ovplyvniť alebo zmeniť správanie a vlastnosti objektu. [7]

Správy

Objekty vzájomne pôsobia a komunikujú (interakcia – interaction) medzi sebou pomocou správ (messages). Interakciu objektov si môžeme vysvetliť ako využitie princípu architektúry klient-server. Klient poslaním správy žiada server o nejakú službu. [7]

Jediný objekt nie je sám o sebe veľmi užitočný. Zvyčajne vystupuje ako komponent väčšieho programu alebo aplikácie, ktorá pozostáva z viacerých objektov. Programátori prostredníctvom interakcie objektov dosiahnu vysokú funkčnosť a viacej úrovňové komplexné správanie. [7]

Triedy

Trieda (class) je predloha alebo prototyp definujúci premenné a metódy pre určitý druh objektov. V skutočnom svete existuje nespočetne veľa objektov toho istého druhu. Napr. Ferrari, ktoré si kúpime, je len jeden druh auta spomedzi množstva ďalších na svete. S použitím objektovo orientovanej terminológie hovoríme, že naše Ferrari ako objekt je inštancia (instance – objekt konkrétnej triedy) triedy auto. [7]