Rozdiel Medzi Objektom A Inštanciou

Rozdiel Medzi Objektom A Inštanciou
Rozdiel Medzi Objektom A Inštanciou

Video: Rozdiel Medzi Objektom A Inštanciou

Video: Rozdiel Medzi Objektom A Inštanciou
Video: Podcast - Ep.18 - OOP Part 2 (Trieda, Object, Inštancia) 2024, November
Anonim

Objekt vs inštancia

Objektovo orientované programovanie (OOP) je jedným z najpopulárnejších paradigiem programovania. V OOP sa pozornosť zameriava na premýšľanie o probléme, ktorý sa má vyriešiť, z hľadiska prvkov reálneho sveta a na predstavenie problému z hľadiska objektov a ich správania. Mnoho programovacích jazykov, ktoré podporujú kľúčové aspekty OOP (nazývané jazyky OOP), má triedu ako hlavný programovací nástroj. Volajú sa triedne. Triedy sú abstraktným zobrazením objektov reálneho sveta. Triedy majú vlastnosti nazývané atribúty. Atribúty sú implementované ako globálne a inštančné premenné. Metódy v triedach reprezentujú alebo definujú správanie týchto tried. Metódy a atribúty tried sa nazývajú členovia triedy. Jednoducho povedané, trieda je plán alebo šablóna pre konkrétny objekt v reálnom živote. Takžeobjekt je pamäťový blok (bloky) používaný na ukladanie potrebných informácií podľa tohto plánu. Inštancia je blok pamäte, ktorý odkazuje na objekt.

Čo je to objekt?

Objekty sú výsledkom vytvorenia inštancie triedy. Vytvorenie inštancie je proces vykonania podrobného plánu a definovania každého atribútu a správania tak, aby výsledný objekt skutočne predstavoval objekt v reálnom živote. Objekt je vyhradený a súvislý blok pamäte vyhradený na ukladanie informácií, ako sú premenné, metódy alebo funkcie atď. Objekt je vytváraný pomocou nového operátora v programovacom jazyku Java. Napríklad, ak existuje trieda s názvom Auto, na vytvorenie objektu triedy Auto je možné použiť nasledujúce.

nové auto();

Tu nový objekt vytvorí objekt Car a vráti sa odkaz na objekt. Na vytvorenie nového objektu sa používa nový operátor spolu s konštruktorom triedy Car. Životnosť objektu začína od volania jeho konštruktorovi do času jeho zničenia. Akonáhle objekt nebude odkázaný, bude odstránený / zničený zberačom odpadu.

Čo je to inštancia?

Inštancia je blok pamäte, ktorý obsahuje odkaz na objekt. Inými slovami, inštancia uchová adresu počiatočného pamäťového bloku, kde je objekt uložený. V skutočnosti možno názov inštancie použiť na prístup na začiatok oblasti pamäte objektu. Ofsety zo štartovacej pamäte počíta runtime modul, aby sme mohli ísť tam, kde sú uložené jednotlivé údaje alebo referencie metód. Nasledujúce fragmenty kódu Java je možné použiť na vytvorenie inštancie objektu Car.

Auto myCar = nové auto ();

Ako už bolo spomenuté vyššie, nový operátor vytvorí objekt Car a vráti k nemu referenciu. Táto referencia je uložená v premennej typu Car myCar. MyCar je teda inštanciou vytvoreného objektu Car.

Aký je rozdiel medzi objektom a inštanciou?

Objekt je súvislý blok pamäte, ktorý uchováva skutočné informácie, ktoré odlišujú tento objekt od ostatných objektov, zatiaľ čo inštancia je odkazom na objekt. Je to blok pamäte, ktorý ukazuje na pozývaciu adresu miesta, kde je objekt uložený. Dva prípady môžu odkazovať na ten istý objekt. Životnosť objektu a inštancie nesúvisí. Preto môže byť inštancia nulová. Po odstránení všetkých inštancií smerujúcich k objektu bude objekt zničený.

Odporúčaná: