Trieda verzus objekt
Objektovo orientované programovanie (OOP) je veľmi populárny štýl programovania vďaka svojej schopnosti zvládať komplexnejšie aplikácie s oveľa väčším kódom. Je to preto, že údaje sú usporiadané do objektov porovnateľných so skutočnými objektmi. Trieda a objekt sú dva pojmy, ktoré sa bežne používajú v OOP. Vo svojej najzákladnejšej podobe sú objekty inštanciou tried.
Aby ste mohli používať objekty v programe, musíte deklarovať vlastnosti a postupy v triede. Aby sme to lepšie vizualizovali, diskutujme o tom na príklade. Ak chcete vytvoriť program, ktorý sa zaoberá vozidlami, budete musieť vytvoriť triedu pre vozidlá. V triede by ste vytvorili premenné, ktoré budú uchovávať informácie relevantné pre vozidlá. Hodnoty ako kapacita cestujúcich, maximálna rýchlosť a kapacita paliva sú typické spolu s postupmi, ako je štart a zastavenie. Po vytvorení triedy pre vozidlá teraz môžete vo svojej aplikácii vytvárať objekty, ktoré sú založené na triede vozidiel. Môžete vytvoriť objekt s názvom auto alebo motocykel, ktorý je založený na vozidlách. Potom môžete vyplniť relevantné informácie o objekte a použiť ich podľa vášho uváženia vo vašej aplikácii.
Ako ste už možno odvodili z vyššie uvedeného príkladu, informácie, ktoré skutočne použijete v aplikácii, sa uložia v objekte, a nie v triede. Trieda definuje iba štruktúru údajov a to, čo každá procedúra alebo funkcia robí.
Ďalšou vynikajúcou vlastnosťou tried je schopnosť dediť vlastnosti a postupy od inej triedy. Triedy, ktoré zdedia vlastnosti iných tried, sa nazývajú podtriedy. Tým sa skracuje práca potrebná na definovanie inej triedy. Ak chcete definovať triedu špecifickú pre automobily, môžete jednoducho zdediť vlastnosti a postupy v triede vozidiel, pretože všetky autá sú vozidlami a budú vykazovať rovnaké vlastnosti. To isté sa nerobí s objektmi, pretože v skutočnosti neexistuje praktické využitie na globálne zdedenie údajov objektu. Základnou praxou pre programátorov je vytvorenie podtriedy a vytvorenie objektu z podtriedy.
Zhrnutie:
1. Objekt je inštancia triedy.
2. Definujete všetky vlastnosti a funkcie v triede, zatiaľ čo ich používate v objekte.
3. Triedy nedisponujú žiadnymi informáciami, zatiaľ čo predmet ich má.
4. Môžete vytvoriť podtriedy, ale nie čiastkové objekty.