您当前的位置: 首页 >  c#

C#继承中访问修饰符的区别

发布时间:2010-11-22 15:38:00 ,浏览量:0

继承中访问修饰符的区别

一、public 类内部可以,子类可以,其他类可以。

二、private 类内部可以,子类和其他类都不可以。

三、protected 类内部和子类可以,其他类不可以。

四、internal 类声明为内部的,即只有当前工程中的代码才能访问它。

父类中的成员如果用public修饰,任何类都可以访问;如果用private修饰,它将作为私有成员,只有类本身可以访问,其他任何类都无法访问。在C#中,使用protected修饰符的成员可以被其子类访问,而不允许其他非子类访问。

父类中只有被“public”,“protected”,“internal”修饰的成员才可以被继承。这些成员包括父类的字段、属性、方法和索引器,但是父类的构造函数和析构函数是不能被子类继承的。如果要继承父类构造函数,必须使用base关键字来实现。

class ClassA { public int a;      private int b;      protected int c;      public void SetA( )        { a=1;                      //正确,允许访问类自身公有成员           b=2;                      //正确,允许访问类自身私有成员           c=3;                      //正确,允许访问类自身保护成员        } }

class ClassB:ClassA { public void SetB( )       {         ClassA BaseA=new ClassA( );          BaseA.a=5;         //正确,允许访问基类公有成员          BaseA.b=23;        //错误,不允许访问基类私有成员          BaseA.c=68;        //正确,允许访问基类保护成员      }    }

class ClassC { public void SetC( )        {          ClassA BaseA=new ClassA( );          BaseA.a=5;        //正确,允许访问类的其他公有成员          BaseA.b=23;       //错误,不允许访问类的其他私有成员          BaseA.c=68;       //错误,不允许访问类的其他保护成员       } }

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    104724博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0465s