.net中的受保护和私人声明

时间:2011-05-04 13:13:49

标签: .net oop access-modifiers

除了在课堂外无法访问之外,受保护声明和私人声明之间是否存在任何差异/优势。

5 个答案:

答案 0 :(得分:5)

这些是accessibility modifiers - 这是他们的观点。

答案 1 :(得分:4)

private成员只能在类中访问,protected成员也可以从继承它的类访问。

答案 2 :(得分:2)

从MSDN中查看此示例:

class A 
{
   protected int x = 123;
}

class B : A 
{
   void F() 
   {
      A a = new A();  
      B b = new B();  
      a.x = 10;   // Error
      b.x = 10;   // OK
   }
}

请参阅a.x抛出错误,因为您尝试从类外部访问该属性(从B类中调用A中的prop)。但是b.x还可以,因为你是从B里面调用的。有意义吗?

答案 3 :(得分:1)

在派生类中可以访问具有protected 访问修饰符的成员。拥有private 访问修饰符的人只能在同一个班级内访问。

了解access modifiers

答案 4 :(得分:1)

struct个成员只能声明为publicprivateinternal

class个成员可以声明为publicprotected internalprotectedinternalprivate

MSDN上的

Access Modifiers