辅助功能级别:受保护和私有之间有什么区别

时间:2010-10-23 17:25:56

标签: c# oop

请您帮助我理解私有方法和受保护方法的区别。 关注http://msdn.microsoft.com/en-us/library/ba0a1yw2%28v=VS.71%29.aspx 我无法理解它,特别是短语“私有:访问仅限于包含类型。”

感谢您的帮助。再见!

3 个答案:

答案 0 :(得分:8)

class Test
{
  private method myMethod()
   {}
  protected method myprotectedMethod()
   {}
}


class ChildTest : Test
{
  public method useProtectedBaseMethod ()
  {
     this.myProtectedMethod(); // this is ok
     this.myMethod(); // this is NOT ok. will throw an Error
  }
}

class outsider
{
  Test  objTest = new Test();
  objTest.myProtectedMethod(); // throws an error as it is not accessible
  objTest.myMethod(); // throws an error as it is not accessible
}

答案 1 :(得分:2)

私有成员只能访问(可见)“包含类型”,即类本身。

包含类和派生类

可以访问受保护的成员

答案 2 :(得分:1)

私有 - 仅在班级范围内可见

受保护 - 对类的继承者可见。

受保护的可以与内部结合使用:如果您从相关的类继承,则类成员在同一个程序集中或任何其他成员中可见。