Thread overview
Üyeler genel erişime açıktır
May 25, 2011
erdem
May 26, 2011
mert
May 25, 2011

Alıntı (acehreli):

>

Kafam tekrar C++ tarafına kaymış olsa gerek; üyelerin normalde private olduklarını düşündüm

'private' olarak işaretlenen sınıf üyelerine aynı modülde (dosyada) olan tüm diğer sınıfların erişebilmesi de C++'ye göre bir farklılığı galiba. Bence bu özelliği çok güzel düşünmüşler.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

May 25, 2011

Erişim haklarını şurada anlatmışım:

http://ddili.org/ders/d/sarma.html

Orada yanlış yaptığımı düşünmüyorum ama şunu açıkça yazmamışım: Yapı, sınıf ve modül içindeki bütün tanımların varsayılan erişim hakları public'tir. (Mini sözlüğe 'varsayılan'ı eklediğime bakılırsa bunu yazacağımı düşünmüş ama unutmuş olmalıyım. :))

Kafam tekrar C++ tarafına kaymış olsa gerek; üyelerin normalde private olduklarını düşündüm ve d.D.learn forumunda yanlış yaptım. :-p Doğru değil: Varsayılan erişim public.

Bir bildiğim şuydu: üyeler private yapılsalar bile modüldeki bütün kodlar tarafından erişilebiliyorlar.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

May 25, 2011

Alıntı (erdem):

>

'private' olarak işaretlenen sınıf üyelerine aynı modülde (dosyada) olan tüm diğer sınıfların erişebilmesi de C++'ye göre bir farklılığı galiba. Bence bu özelliği çok güzel düşünmüşler.

Evet, C++'ta aranan bir olanaktır: "Özel olsun ama şu ilgili sınıflar yine de erişebilsinler" diyebilmek istenir; denemez. D bunu çözüyor ama eli biraz ağır kaçıyor; bütün modüle erişim hakkı veriliyor. Onun savunması da şu: modülü yazan programcı(lar) zaten çoğu durumda oradaki bütün sınıfları tanıyorlar. Yani D, modüldeki diğer sınıfları da bu sınıfın yakınları olarak kabul ediyor.

Benim de şikayetim yok. D'nin genelde pratikliği önde tutmasının bir örneği.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

May 26, 2011

Alıntı:

>

Evet, C++'ta aranan bir olanaktır: "Özel olsun ama şu ilgili sınıflar yine de erişebilsinler" diyebilmek istenir; denemez. D bunu çözüyor ama eli biraz ağır kaçıyor; bütün modüle erişim hakkı veriliyor. Onun savunması da şu: modülü yazan programcı(lar) zaten çoğu durumda oradaki bütün sınıfları tanıyorlar. Yani D, modüldeki diğer sınıfları da bu sınıfın yakınları olarak kabul ediyor.

Bu gayet mantıklı bir önerme. "Modülü yazan programcılar zaten çoğu durumda oradaki bütün sınıfları tanıyorlar" olmaması doğal değil gibime geliyor:-)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]