Inicijalizacija

U inicijalizaciji smo odredili koji elementi su u okviru ove klase, i napravili smo funkciju inicijalizacije, tj. vidimo kako se pravi objekat.
Sada želimo da napravimo objekat koji je klase NebeskaTela, pošto nam je potreban za rad. Pretpostavićemo da smo napravili klasu ovih objekata, kao što je već urađeno ranije.
Napravićemo nebesko telo koje je zvezda, ima prečnik od 1392000 km i koje smo svi otkrili.

sunce=NebeskaTela("zvezda",1369000,"svi")
            

Tako smo napravili objekat klase NebeskaTela, i u okviru njega imamo kojeg je tipa, koliko kilometara mu je prečnik i ko ga je otkrio. U tabeli, to izgleda ovako:


sunce
tipzvezda
precnik1369000
otkrivacsvi

Ipak, želimo da pristupimo otkrivaču u okviru instance sunce, i da ga promenimo, jer zapravo niko nije otkrio Sunce, već se oduvek znalo za njega.

sunce.otkrivac=sunce.otkrivac + ” i niko”
            

Uradili smo sledeće, uzeli smo podatke o otkrivaču iz instance sunce, na to smo dodali "i niko", i dodelili smo sunce.otkrivac da je otkrivač (u ovom slučaju) "svi i niko". Sada u suncu imamo:


sunce
tipzvezda
precnik1369000
otkrivacsvi i niko

Objektima u okviru novog objekta pristupamo pomoću tačke. Tačka znaci sledeće, u ovoj instanci, nađi instancu koja se zove tako kao što smo napisali.
sunce.tip znači da imamo pristup tipu instance sunce.
Kao što ste verovatno primetili, pri kreiranju objekta klase NebeskaTela, prosledili smo jedan argument manje nego kada smo pisali funkciju za inicijalizaciju. To je zbog prvog argumenta koji nam samo pomaže pri određivanju na kojoj instanci radimo. Pri pozivanju već znamo sa kojom instancom želimo da radimo i zato nam ne treba taj argument.

Vežba: Napraviti klasu Zivotinje, napraviti instancu pas, koja će imati vrstu – pas, ime – Džek i godine – 3. Probajte da menjate njegova svojstva, koja ćete najbolje videti ako ispisujete vrednosti pomoću funkcije print.