Citat:
zorrome: Može li mi netko objasniti kako je u tek deklariranoj klasi SiteManager moguće instancirati objekt te klase (znači SiteManager, kod gdje su u komentaru upitnici).
Što bi to značilo - ukratko što je to, koja osobina objektno orjentiranih jezika itd.
Ja sad tek vidim sta si ti napisao, pratio sam thread koji je malo zalutao
Code:
class SiteManager
{
SiteList sites = new SiteList();
public static void Main()
{
SiteManager mgr = new SiteManager(); // ????
mgr.sites = new SiteList();
// dalje kod nije bitan
}
}
Ovo je savrseno validno parce koda. Main je staticki metod koji kreira svoju (lokalnu) instancu SiteManager klase kojoj pripada. Main NIJE konstruktor, sto znaci da kriranje instance NECE ponovo kreirati novu isntancu SiteManager-a, dakle nema rekurzije i code radi ok. Jedina "greska" je u liniji:
Code:
mgr.sites = new SiteList();
ova linija je visak posto ce konstruktor SiteManager klase kreirati SiteList implicitno kroz liniju
Code:
SiteList sites = new SiteList();
E, sad drugi primer:
Code:
////////////// ili /////////////////////
class CTest
{
CTest test = new CTest(); // ????
}
Ovo parce koda je unelo zabunu u ovaj thread. Kreiranje field-a test se obavlja implicitno u konstruktoru i poziva opet konstruktor CTesta koji poziva konstruktor CTesta - tako dok stek ne pukne. Ovaj kod ne predstavlja uproscenu varijantu gornjeg primera i to je unelo zabunu.
Ne postoji specijalni naziv za ono sto SiteManager kalsa i njen metod Main koriste.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić