PDA

View Full Version : مشکل در درک تفاوت private , protected



arefba
چهارشنبه 16 اسفند 1391, 15:41 عصر
با سلام
طبق تعاریفی که هست
protected یک درجه بالاتر از private هست یعنی در کلاس های فرزند ما توانایی دسترسی به member های protected رو داریم
ولی نمیدونم این دسترسی منظورش چیه

class Animal
{

protected string a;

}

class Dog : Animal
{


}


یعنی وقتی که ما از کلاس dog یا animal عمل instant گیری رو انجام میدیم بعدش باید به متغیر a دسترسی داشته باشیم که اینطور نیست


Animal an=new Animal();
//error
an.a="";

Dog d=new Dog();
//error
d.a="";

Mahmoud.Afrad
چهارشنبه 16 اسفند 1391, 16:48 عصر
یعنی کلاس فرزند هم دارای همان فیلد خواهد بود ولی نمیتوان از کلاس های دیگر به آن دسترسی داشت. (کلاس Dog هم دارای فیلد a هست)

class Animal
{
protected string a;
}

class Dog : Animal
{
public Dog()
{
this.a = "type is dog";
}

public void showMsg()
{
MessageBox.Show(this.a);
}
}