100 likes | 255 Views
KREIRANJE OBJEKATA. Objekti (instance klasa ) se kreiraju pomo ću operatora new kao u slede ćem primeru . Pravougaonik alfa = new Pravougaonik ();
E N D
Objekti (instance klasa) se kreirajupomoćuoperatoranewkao u sledećemprimeru. Pravougaonikalfa = newPravougaonik (); Ovomlinijomkoda se promenljiva ( često se koristiiterminvarijabla ) alfadeklarišekaopromenljivatipaPravougaonik a ujedno se ikreiraobjekatklasePravougaonikidodeljujetojpromenljivoj. Istiefekat se možepostićiinasledećinačin Pravougaonikalfa; alfa = new Pravougaonik (); tj. razdvajanjemdeklaracije od kreiranjaobjekta. Pitanja 1) Šta je instancaklase? 2) Kako se kreiraobjekatklase?
Članoviklasesupodacičlanovi (atributi) ifunkciječlanice (metode). Kada se kreirajedanobjekatnekeklasepristupanjenjegovimčlanovimavrši se primenomoperatoratačkatj. pristupanjepodacimačlanovima imeObjektaKlase.ImeAtributa pristupanjefunkcijamačlanicama imeObjektaKlase.NazivFunkcije(stvarniargumenti) Primer Pravougaonik prav1 = new Pravougaonik (2.5, 3.0); System. Console .WriteLine( "Povrsina je " + prav1.Povrsina()); U prvojliniji je kreiranobjekat prav1 klasePravougaonik a zatim je u drugojlinijinastandardniizlaz (System. Console .WriteLine) ispisantekstPovrsina je ipovršinaobjekta prav1 koja se dobijapozivomnjegovemetodePovrsina().
Podsetimo se da je neophodnodeklarisatimetoduPovrsina() kaojavnu da bi moglo da joj se pristupi! Može se primetiti da u prethodnomprimerukonstruktorklasePravougaonikimadva argumenta. Uočimo da System. Console .WriteLinetakođepredstavljapozivmetode! Pitanja 1) Štasučlanoviklase? 2) Kako se pristupačlanovimaklase?
Konstruktorisufunkcijekojekarakteriše: istoimekaoiimeklase, nemajupovratnuvrednost. Sveostalekarakteristikekojevažezabilokojufunkcijuvažeizakonstruktore. Svaki put kada se kreiraobjekatnekeklasezapravo se pozivakonstruktorteklase. Veomačesto se u konstruktorimavršiinicijalizacijapodatakačlanovaklase. Konstruktorimogubitibezargumenata (tada se zovupodrazumevanikonstruktoriili default konstruktori ) ilisaargumentima. Jasno je da možepostojatisamojedanpodrazumevanikonstruktorivišekonstruktorasaparametrima. Ako ne definišemopodrazumevanikonstruktorsamsistemćegakreiratiitelokonstruktoraćebitiprazno. Znači, svaki put kada se kreiranoviobjekatnekikonstruktor se poziva!
Primer DefinišimozaklasuPravougaonikpodrazumevanikonstruktorkojiće da postavljavrednostiatributaduzinaisirinananuluikonstruktorkojiimadvaparametrakojima se postavljajupočetnevrednostiparametaraduzinaisirina. public class Pravougaonik { private float duzina; private float sirina; 10 public Pravougaonik() // podrazumevanikonstruktor { duzina = 0; sirina = 0; } // konstruktorsaparametrima public Pravougaonik( float duz, float sir) { duzina = duz; sirina = sir; } } Pitanja 1) Šta je konstruktor? 2) Šta je podrazumevanikonstruktor? 3) Kolikokonstruktorasaargumentimamožeimatijednaklasa?
DESTRUKTORI Konstruktori se pozivajusvaki put kada se kreiranekiobjekat. Priuništavanjuobjekatapozivaju se destruktori pre samoguništavanjaobjekta. Destruktorisufunkcijekojeimajuistoimekaoiimeklasetj. imekonstruktorasadodatkomznaka ~ (tilda) kaoprvogsimbolaimena. Zarazliku od konstruktoradestruktorinemajudefinisankvalifikatorpristupa public. Takodjenemajunipovratnuvrednostkaoninaredbu return u telu. Destruktoritakodjenemajuniparametre. ~Pravougaonik() { // nekikod } Pitanja 1) Šta je destruktor? 2) Da li destruktoriimajudefinisankvalifikatorpristupa? 3) Da li destruktoriimajupovratnuvrednsot? 4) Da li destruktorimoguimatiparametre