[ VictoriaV @ 02.07.2008. 14:53 ] @
Pozdrav svima. :-) Čitala sam, općenito, o tome gdje se sve može 'upotrijebiti' static kao ključna riječ. Koliko sam shvatila, a voljela bih da me netko ispravi u slučaju da sam nešto pogrešno razumijela :-), ako klasa sadrži static member ili method, preko imena klase se pristupa pojedinom memberu ili poziva methoda. tj. ne preko kreirane instance/objekta. Zatim, ako kreiram (s new() operatorom ) instancu/objekt klase koja sadrži static member ili static method, onda static member ili method nisu dio instance/objekta. U ovom trenutku 'ne pada mi na pamet' niti jedan primjer, gdje bih static member ili method-a upotrijebila. Zašto ne imati običnu funkciju ili deklarirati, te incijalzirati varijablu umjesto static member-a. Zatim, static constructor. Ako klasa ima static constructor, onda će se on uvijek pozvati, pa tako i prije kreiranja instance/objekta te klase ? Što bi značilo da unutar njega mogu incijalizirati non-static member-e prije nego keriram objekt/instancu. U slučaju da imam static constructor i u njegovoj implementaciji incijaliziram non-static member-e, i onda se pozove default-ni constructor s kreiranjem objekta/instance pomoću new operator-a, onda će, npr., non-static member-i na kraju biti postavljeni na nulu, naravno u slučaju da ne implementiram drugačije, u smislu da ih ne incijaliziram/postavim na neku drugu vrijednost. Tako da opet ne vidim svrhu static constructor-a. Prilikom kompajliranja, da li se prvo incijaliziraju sve globalne varijable, pa tek onda sve static member-i ? Unaprijed se zahvaljujem, Victoria |