Objektas prieš egzempliorių
Objektinis programavimas (OOP) yra viena iš populiariausių programavimo paradigmų. OOP pagrindinis dėmesys skiriamas sprendžiamos problemos mąstymui, atsižvelgiant į realaus pasaulio elementus, ir problemos vaizdavimui pagal objektus ir jų elgesį. Daugelyje programavimo kalbų, palaikančių pagrindinius OOP aspektus (vadinamų OOP kalbomis), klasė yra pagrindinė programavimo priemonė. Jie vadinami klasės pagrindu. Klasės yra abstraktus realaus pasaulio objektų vaizdas. Klasės turi savybių, vadinamų atributais. Atributai įgyvendinami kaip pasauliniai ir egzempliorių kintamieji. Klasių metodai atspindi arba apibrėžia šių klasių elgesį. Klasių metodai ir atributai vadinami klasės nariais. Labai paprastai, klasė yra konkretaus realaus gyvenimo objekto projektas arba šablonas. Taigi, objektas yra atminties blokas (-ai), naudojamas (-iai) saugoti reikiamą informaciją pagal šį projektą. Egzempliorius yra atminties blokas, nurodantis objektą.
Kas yra objektas?
Objektai yra klasės egzistavimo rezultatas. Inscenizacija yra plano sudarymo ir kiekvieno požymio bei elgesio apibrėžimo procesas, kad gautas objektas iš tikrųjų atspindėtų realaus gyvenimo objektą. Objektas yra tam skirtas ir nuolatinis atminties blokas, skirtas saugoti informaciją, pvz., kintamuosius, metodus ar funkcijas ir pan. Objektas kuriamas naudojant naują operatorių Java programavimo kalba. Pavyzdžiui, jei yra klasė, pavadinta Automobilis, tada galima naudoti toliau pateiktą informaciją kuriant Automobilių klasės objektą.
naujas automobilis();
Čia naujas operatorius sukuria automobilio objektą ir grąžinama nuoroda į objektą. Naujam objektui kurti pasitelkiamas naujas operatorius kartu su Automobilių klasės konstruktoriumi. Objekto gyvavimo trukmė prasideda nuo skambučio jo konstruktoriui iki jo sunaikinimo. Kai objektas nebus nukreiptas, šiukšlių surinkėjas jį pašalins / sunaikins.
Kas yra egzempliorius?
Egzempliorius yra atminties blokas, kuriame yra nuoroda į objektą. Kitaip tariant, egzempliorius išsaugos pradinio atminties bloko, kuriame saugomas objektas, adresą. Tiesą sakant, egzemplioriaus pavadinimas gali būti naudojamas norint pasiekti objekto atminties srities pradžią. Poslinkius nuo pradinės atminties apskaičiuoja vykdymo variklis, kad galėtume eiti ten, kur saugomi atskiri duomenys arba metodo nuorodos. Šis nukirptas Java kodas gali būti naudojamas automobilio objekto egzemplioriui sukurti.
Automobilis myCar=naujas automobilis();
Kaip minėta, naujasis operatorius sukuria automobilio objektą ir grąžina nuorodą į jį. Ši nuoroda saugoma automobilio tipo kintamajame myCar. Taigi, myCar yra sukurto automobilio objekto egzempliorius.
Kuo skiriasi objektas nuo egzemplioriaus?
Objektas yra gretimas atminties blokas, kuriame saugoma tikroji informacija, skirianti šį objektą nuo kitų objektų, o egzempliorius yra nuoroda į objektą. Tai yra atminties blokas, nurodantis objekto saugojimo vietos adresą. Du atvejai gali nurodyti tą patį objektą. Objekto ir egzemplioriaus gyvenimo trukmė nėra susijusi. Todėl atvejis gali būti niekinis. Pašalinus visus egzempliorius, nurodančius objektą, objektas bus sunaikintas.