Objekt vs instanca
Objektno orijentirano programiranje (OOP) jedna je od najpopularnijih programskih paradigmi. U OOP-u se fokusira na razmišljanje o problemu koji se treba riješiti u stvarnim elementima i predstavlja problem u smislu predmeta i njihovog ponašanja. Mnogi programski jezici koji podržavaju ključne aspekte OOP-a (zvani OOP jezici) imaju klasu kao glavni programski alat. Nazivaju se tečajevima. Časovi su apstraktni prikaz objekata iz stvarnog svijeta. Klase imaju svojstva koja se nazivaju atributima. Atributi se implementiraju u obliku globalnih i instanci. Metode u klasama predstavljaju ili definiraju ponašanje tih klasa. Metode i atributi nastave nazivaju se članovima klase. Vrlo jednostavnim riječima, klasa je nacrt ili predložak za određeni stvarni životni objekt. Dakle, objekt su memorijski blokovi koji se koriste za spremanje potrebnih podataka u skladu s ovim nacrtom. Instanca je memorijski blok koji upućuje na objekt.
Što je objekt?
Objekti su rezultat instanciranja klase. Instantacija je proces uzimanja plana i definiranja svakog svojstva i ponašanja, tako da rezultirajući objekt zapravo predstavlja stvarni životni objekt. Objekt je namjenski i kontinuirani blok memorije dodijeljen za pohranjivanje informacija poput varijabli, metoda ili funkcija itd. Objekt je kreiran korištenjem novog operatera, u programskom jeziku Java. Na primjer, ako postoji klasa koja se zove Car, tada se za izradu objekta klase Car može koristiti sljedeće.
novi auto();
Ovdje novi operator stvara automobilski objekt i vraća se referenca na objekt. Novi operator zajedno s konstruktorom klase Car koristi se za stvaranje novog objekta. Životni vijek objekta počinje od poziva prema njegovom konstruktoru do trenutka uništenja. Jednom kada objekt ne bude upućen, skupljač će ga ukloniti / uništiti.
Što je instanca?
Instanca je memorijski blok koji sadrži referencu na objekt. Drugim riječima, Instance će zadržati adresu početnog bloka memorije u kojem se objekt pohranjuje. Zapravo se ime instance može koristiti za pristup početku područja memorije objekta. Odstupanja od početne memorije izračunava se pogonskim strojem, tako da možemo ići tamo gdje se pohranjuju pojedinačni podaci ili reference metode. Sljedeći presječeni Java kod može se koristiti za izradu instancije automobila.
Car myCar = novi automobil ();
Kao što je već spomenuto, novi operator stvara Car automobil i vraća referencu na njega. Ova se referenca pohranjuje u varijablu myCar tipa Car. Dakle, myCar je instanca stvorenog Car automobila.
Koja je razlika između objekta i instancije?
Objekt je neprekidni blok memorije koji pohranjuje stvarne informacije koje ovaj objekt razlikuju od drugih objekata, dok je instanca referenca na objekt. To je blok memorije, koji upućuje na početnu adresu mjesta pohrane objekta. Dva slučaja mogu se odnositi na isti objekt. Životni vijek objekta i instancije nisu povezani. Stoga bi primjer mogao biti nula. Jednom kada se uklone sve instance koje ukazuju na objekt, objekt će biti uništen.