Razlika med objektom in instanco

Predmet proti primerku

Objektno usmerjeno programiranje (OOP) je ena izmed najbolj priljubljenih programskih paradigem. V OOP je poudarek na razmišljanju o problemu, ki ga je treba rešiti z elementi iz resničnega sveta, in predstavljanju problema v smislu predmetov in njihovega vedenja. Številni programski jeziki, ki podpirajo ključne vidike OOP (imenovani OOP jeziki), imajo razred kot glavno programsko orodje. Imenujejo jih razredni. Razredi so abstraktna predstavitev predmetov iz resničnega sveta. Razredi imajo lastnosti, imenovane atributi. Atributi se izvajajo kot globalne in primerke spremenljivk. Metode v razredih predstavljajo ali opredeljujejo vedenje teh razredov. Metode in atributi razredov se imenujejo člani razreda. V zelo preprostih besedah ​​je razred načrt ali predloga za določen predmet iz resničnega življenja. Predmet so torej pomnilniški bloki, ki se uporabljajo za shranjevanje potrebnih informacij v skladu s tem načrtom. Primerek je spominski blok, ki se nanaša na predmet.

Kaj je predmet?

Predmeti so rezultati instanciranja razreda. Instantiation je postopek prevzema načrta in določitev vsakega atributa in vedenja, tako da dobljeni predmet dejansko predstavlja resnični življenjski objekt. Predmet je namenski in neprekinjeni blok pomnilnika, dodeljen za shranjevanje informacij, kot so spremenljivke, metode ali funkcije itd. Objekt je ustvarjen z uporabo novega operaterja, v programskem jeziku Java. Na primer, če obstaja razred, imenovan Car, potem lahko za ustvarjanje predmeta razreda Car uporabimo naslednje.

nov avto();

Tukaj novi operater ustvari objekt Car in vrne sklic na objekt. Za izdelavo novega predmeta se uporablja nov operater skupaj s konstruktorjem razreda Car. Življenjska doba predmeta se začne od klica do njegovega konstruktorja do trenutka, ko je uničen. Ko predmet ni napoten, ga bo odstranil / uničil zbiralnik smeti.

Kaj je instanca?

Primerek je spominski blok, ki vsebuje sklic na nek predmet. Z drugimi besedami, bo Instance ohranil naslov začetnega pomnilniškega bloka, kjer je predmet shranjen. Pravzaprav lahko ime primerka uporabimo za dostop do začetka območja pomnilnika objekta. Izravnave iz začetnega pomnilnika izračunamo z izvajalnim mehanizmom, tako da lahko gremo tja, kjer so shranjeni posamezni podatki ali sklici metod. Po odsekani kodi Java se lahko uporabi za ustvarjanje primerka avtomobilskega predmeta.

Car myCar = nov avto ();

Kot že omenjeno, novi operater ustvari objekt Car in mu vrne sklic. Ta referenca je shranjena v spremenljivki tipa car myCar. MyCar je torej primerek ustvarjenega predmeta Car.

Kakšna je razlika med predmetom in instanco?

Predmet je neprekinjeni blok pomnilnika, ki hrani dejanske informacije, ki razlikujejo ta objekt od drugih predmetov, medtem ko je primerek sklicevanje na predmet. To je blok pomnilnika, ki kaže na zagonski naslov, kje je predmet shranjen. Dva primerka se lahko nanašata na isti predmet. Življenjska doba predmeta in primerka nista povezana. Zato je primerek lahko ničen. Ko bodo odstranjeni vsi primeri, ki kažejo na predmet, bo predmet uničen.