【问题标题】:protected and private declaration in .net.net 中的受保护和私有声明
【发布时间】:2011-08-18 13:05:36
【问题描述】:

protected 和 private 声明之间是否有任何区别/优势,除了它在类之外无法访问。

【问题讨论】:

  • 这不是区别,而是相似
  • 我的意思是如果有其他用途

标签: .net oop access-modifiers


【解决方案1】:

这些是accessibility modifiers - 这就是他们的重点。

【讨论】:

  • Friendinternal 是同义词
【解决方案2】:

private 成员只能从类内部访问,protected 成员也可以由继承自它的类访问。

【讨论】:

    【解决方案3】:

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

    了解access modifiers

    【讨论】:

      【解决方案4】:

      查看 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 中的属性)。但是 b.x 没问题,因为你是从 B 内部调用它的。有意义吗?

      【讨论】:

        【解决方案5】:

        struct 成员只能声明为publicprivateinternal

        class 成员可以声明为publicprotected internalprotectedinternalprivate

        MSDN 上的Access Modifiers

        【讨论】:

          猜你喜欢
          • 2011-07-09
          • 2015-08-11
          • 2014-04-26
          • 2011-12-22
          • 2014-05-15
          • 2013-04-04
          • 2020-09-14
          • 1970-01-01
          • 2010-11-02
          相关资源
          最近更新 更多