C# Sınıf Erişim Yöntemleri - Bilişim Eğitim Merkezi
Anasayfa / Yazılım 360 Eğitimleri / C# Sınıf Erişim Yöntemleri
bilisimegitim 7 Mayıs 2019	Yazılım 360 Eğitimleri Yorum Yap 75 Görüntüleme
Nesne tabanlı programlama dillerinde bir class(sınıf), property, field yada metotlara erişmek için belli başlı kullandığımız belirteçler vardır. Belki çoğumuz bunları anlamlarını ve görevlerini tam bilmeden de kullanmış olduğumuz bu belirteçler nesne tabanlı programlama dillerinde önemli bir yere sahiptir.
Bu belirteçler önlerine yazıldığı bir field’ı ya da bir metodu ya da bir property’ı yada bir sınıfa erişmek için yada erişimi kısıtlamak için kullanılır. Bu erişim belirteçlerin özelinden genele doğru gidecek olursak;
Private: Sadece bulunduğu class(sınıf) içerisinden erişilebilir anlamına gelir. Bir sınıf içerisinde istediğimiz yerden private ile belirlenmiş yapıya ulaşabiliriz. Sınıf dışından ulaşmak ise imkansızdır. Private ile belirttiğimiz nesneyi(field,property,method), sınıfın dışarısına çıkarmayı engellemek, korumak yada kapsüllemek (encapsulation) için kullanırız. Örnek olarak aşağıdaki resimdeki gibi Islemler adında class tanımadım. Burada class içinde sayi1, sayi2 field’ları ve topla metoduna erişilir. Fakat dışardan erişilemez.
Internal: Aynı projede bulunan bütün sınıflar içerisinde erişmek için kullanılan belirteçtir.
Islemler sınıfındaki fark metodunu internal tanımlıyorum. Ve Deneme adındaki başka bir class içerinden erişmek için işlemler sınıfından bir örnek alıp fark() metoduna erişebilmemiz mümkün.
Aynı proje içerinden bir de deneme adında bir sınıf oluşturuyorum. Ve sonuç yaz metodu içerisinde fark metoduna erişebiliyorum. Dikkat ederseniz yeniislem deyip noktaya bastıktan sonra sınıfa ait ortalama, topla gibi metotlar görünmüyor. Çünkü biz onları görünmesin ve ulaşılamasın diye sınıf içerisinde private tanımladık.
Not:Class isminde herhangi bir belirteç belirtilmez ise default olarak internaldir.
Not: Class belirteçleri private olamaz.Yanlış bir tanımlama olduğu için class isminin altını çizecektir. Class belirteçleri tanımlamada belirtildiği gibi private,protected yada protected internal olamaz. Sadece internal yada public olabilir.
Protected internal: bu şekilde tanımlanan class öğeleri hem farklı classlardan erişilebilir (internal), hem de oluşturulduğu class miras alındığı sınıftan erişelebilir .(protected)
Public: public ile belirtilen field, metod , property yada class nesnelerimize
Aynı sınıf içerisinde,
Farklı sınıf içerisinde,
Farklı projelerdeki sınıflar içerisinde bile erişebiliriz.
Örnek olarak Islemler sınıfımızı aşağıdaki gibi tasarlıyorum.
Şimdi farklısinif adında bir class tanımlayalım.
Ve aşağıdaki gibi public ile tanımladığımız Sayi1 ve Sayi2 adındaki property’lere dışarıdan değerler set edilip public ile belirtilmiş topla() metodu çağrılır. Aynı şekilde istenirse public ile tanımlanmış diğer metotlara da erişilip kullanılabilir.
Önceki Database First Yaklaşım ile Veri Tabanı İşlemleri
İleri Code First Veritabanı İşlemleri
Makale serimizin birinci bölümünde Entity Framework kullanmadan CRUD işlemlerinin Create ve Read işlemlerini Kategori örneği …