سلام
دوستان در مورد Protected مگر ، فقط ان Type که ازش مشتق شده، دسترسی بهش نداره؟
پس اینجا که ما ارث بری نکردیم اما بیریم خطا بلرنامه اجرا میشه
public class man
{
protected class to
{
}
public class oon
{ to t = new to(); }
}
سلام
دوستان در مورد Protected مگر ، فقط ان Type که ازش مشتق شده، دسترسی بهش نداره؟
پس اینجا که ما ارث بری نکردیم اما بیریم خطا بلرنامه اجرا میشه
public class man
{
protected class to
{
}
public class oon
{ to t = new to(); }
}
در تعریف متغیرهای کلاسی اگر modifier تعیین نگردد بصورت پیشفرض private در نظر گرفته میشود.
در تعریف to t = new to(); هیچ نوع دسترسی مشخص نشده. پس خصوصی است و مجاز.
سعی کنید اینچنین بنویسید: public to t = new to();
کلاس های Nested برای امور خاص و ایجاد کلاس های تودرتو استفاده میشوند و توصیه میشه که حدالمقدور استفاده نشوند.
در هر حال شما از بیرون کلاس man به هیچ وجه نمیتونید به کلاس to دسترسی داشته باشید (ولی به کلاس oon می تونید) حتی با ایجاد کلاسی عمومی مثل oon و تا زمانی که این قانون نقض نشه هیچ خطای مرتبط نیز دریافت نخواهید کرد.
آخر نوع پیش فرض internal شد یا private ??