OOP ile program yazarken, yazılan her sınıf için çalışma zamanında (runtime) bir adet meta sınıf oluşturulur. Programcı farkında olmaz. Statik tanımlanan bütün değişkenler, metodlar bu meta sınıfa ait olur. Bu yüzden statik bir değere/metoda ulaşmak isterseniz new kelimesini kullanarak yeni bir sınıf örneğini hafızada oluşturmaya ihtiyaç duymazsınız.
Çakaltepe arkadaşımızın yazdığı ana sınıfındaki statik cocuk sınıfı ve onun içindeki name alanı, isimgetir metodu için bir örnek yaratmaya yani new demeye gerek yoktur.
Unutulmaması gereken ise statik olan değerler için new denilmediğini düşünürsek birden fazla sınıf örneği olmaz. Yani 5 tane çocuk oluşturamazsınız. Hafızada sadece bir tane örneği olur bu sınıfın.
Statik değişken ya da methodları statik sınıflar içinde tanımlayabilirsiniz ve nokta mantığı ile ulaşabilirsiniz.
public static class ana{
public static class cocuk{
Public static name;
public static string isimgetir(){
return this.name;
}
}
}
Yukarıdaki değişkene ve methoda şu şekilde ulaşabilirsin:
ana.cocuk.name=”adnan”;
ana.cocuk.isimgetir();
OOP ile program yazarken, yazılan her sınıf için çalışma zamanında (runtime) bir adet meta sınıf oluşturulur. Programcı farkında olmaz. Statik tanımlanan bütün değişkenler, metodlar bu meta sınıfa ait olur. Bu yüzden statik bir değere/metoda ulaşmak isterseniz new kelimesini kullanarak yeni bir sınıf örneğini hafızada oluşturmaya ihtiyaç duymazsınız.
Çakaltepe arkadaşımızın yazdığı ana sınıfındaki statik cocuk sınıfı ve onun içindeki name alanı, isimgetir metodu için bir örnek yaratmaya yani new demeye gerek yoktur.
Unutulmaması gereken ise statik olan değerler için new denilmediğini düşünürsek birden fazla sınıf örneği olmaz. Yani 5 tane çocuk oluşturamazsınız. Hafızada sadece bir tane örneği olur bu sınıfın.