Showing posts with label Protected Erişim Belirleyicisi. Show all posts
Showing posts with label Protected Erişim Belirleyicisi. Show all posts

Friday, September 21, 2012

Protected Erişim Belirleyicisi (C#)


Protected Erişim Belirleyicisi

Sınıflar konusunda belirleyicilerini incelerken, protected erişim belirleyicisini türetmeyi anlatırken inceleyeceğimizi
söylemiştik. Kalıtım yolu ile sadece puplic ve protected elemanlar aktarılır. Temel sınıfta bulunan private üye elemanlara
türeyen sınıf içersinde ulaşamayız. Örneğin aşağıdaki kullanım geçersizdir.

using System;

class Memeli

{
  private double Boy;
  private double Agirlik;

  puplic void OzellikGoster()
  {
    console.WriteLine("Boy = " + Boy);
    console.writeline("Ağırlık = " + agirlik);
  }
}

class Kedi : Memeli
{
  puplic string Turu;
 
  puplic void BoyGoster()
  {
    Console.writeline("Boy = " + Boy);
  }
}

Burada Kedi sınıfı Memeli sınıfnda türemiş olmasına rağmen Kedi sınıfında bulunan BoyGoster() metodu içerisinden Memeli
sınıfındaki Boy özelliğinin private olarak bildirilmesidir. private özelliklerinde kalıtım yolu ile aktarılması için her
değişken için get ve set blokları tanımlanabilir. Bu durumda Memeli sınıfının private elemanlarına erişebiliriz.

Diğer sınıfların kullanımına kapalı ancak türetme ile türemiş sınıfa geçebilen özellikler protected anahtar sözcüğü ile
oluşturulur. Eğer türeme söz konusu değilse protected olarak bildirilen elemenlarla private olarak bildirilen elemanlar
arasında fark kalmaz. protected eleman içeren bir sınıf türetildiğinde bu elemanlar türemiş sınıflar içinde rahatlıkla
kullanılabilir. protected elemanlar diğer sınıflar için private olarak kalmaya devam eder. Buna göre asağıdaki sınıf
bildirimleri geçerlidir.