Predmet proti primerku
Objektno usmerjeno programiranje (OOP) je ena najbolj priljubljenih programskih paradigem. V OOP je poudarek na razmišljanju o problemu, ki ga je treba rešiti, v smislu elementov 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 se razredni. Razredi so abstraktna predstavitev predmetov iz resničnega sveta. Razredi imajo lastnosti, imenovane atributi. Atributi so implementirani kot globalne spremenljivke in spremenljivke primerkov. Metode v razredih predstavljajo ali definirajo vedenje teh razredov. Metode in atribute razredov imenujemo člani razreda. Zelo preprosto povedano, razred je načrt ali predloga za določen objekt iz resničnega življenja. Objekt je torej pomnilniški blok(-i), ki se uporablja za shranjevanje potrebnih informacij v skladu s tem načrtom. Primerek je pomnilniški blok, ki se nanaša na predmet.
Kaj je predmet?
Predmeti so rezultati instanciranja razreda. Instanciacija je postopek zajemanja načrta in definiranja vsakega atributa in vedenja, tako da nastali predmet dejansko predstavlja predmet iz resničnega življenja. Objekt je namenski in zvezni blok pomnilnika, dodeljen za shranjevanje informacij, kot so spremenljivke, metode ali funkcije itd. Objekt je ustvarjen z uporabo operatorja new v programskem jeziku Java. Na primer, če obstaja razred z imenom Car, lahko naslednje uporabite za ustvarjanje predmeta razreda Car.
nov avto();
Tukaj objekt Car ustvari novi operater in vrne sklic na objekt. Operator new skupaj s konstruktorjem razreda Car se uporablja za ustvarjanje novega predmeta. Življenjska doba predmeta se začne od klica njegovemu konstruktorju do trenutka, ko je uničen. Ko predmet ni napoten, ga bo odstranil/uničil zbiralec smeti.
Kaj je primerek?
Primerek je pomnilniški blok, ki vsebuje referenco na objekt. Z drugimi besedami, primerek bo ohranil naslov začetnega pomnilniškega bloka, kjer je shranjen objekt. Pravzaprav lahko ime primerka uporabite za dostop do začetka območja pomnilnika objekta. Odmike od začetnega pomnilnika izračuna izvajalni mehanizem, tako da lahko gremo tja, kjer so shranjeni posamezni podatki ali reference metod. Naslednjo izrezano kodo Java lahko uporabite za ustvarjanje primerka predmeta Car.
Avto myCar=nov avto();
Kot omenjeno zgoraj, novi operater ustvari objekt Car in vrne sklic nanj. Ta sklic je shranjen v spremenljivki vrste avtomobila myCar. Torej, myCar je primerek ustvarjenega predmeta Car.
Kakšna je razlika med objektom in primerkom?
Objekt je sosednji blok pomnilnika, ki shranjuje dejanske informacije, po katerih se ta objekt razlikuje od drugih objektov, medtem ko je primerek sklic na objekt. To je blok pomnilnika, ki kaže na začetni naslov, kjer je predmet shranjen. Dva primera se lahko nanašata na isti predmet. Življenjska doba predmeta in primerka nista povezani. Zato je primerek lahko ničelna. Ko so odstranjeni vsi primerki, ki kažejo na predmet, bo objekt uničen.