如何区别C# private和protected?
一、通过使用来区分
1、private:编程语句在模块级别中使用,用于声明私有变量及分配存储空间。
2、protected:编程语句在模块级别中使用,用于声明受保护的变量及分配存储空间。
二、通过作用来区分
1、private:只能在包含其声明的模块中使用。可以使用 Private 语句声明变量的数据类型。也可以使用 Private 语句来声明变量的对象类型。
2、protected:具有protected访问控制级别的成员是半公开的,外界无法直接访问这个控制级别的成员,但是派生类的base指针(在c++中也可用引用访问)可以获得访问能力。
三、通过规则来区分
1、private:在赋值之前,所声明的这个对象变量有一个特定值 Nothing,这个值表示该变量没有指向任何对象的实例。如果不指定数据类型或对象类型,且在模块中没有使用 Deftype 语句,则按缺省情况该变量为 Variant 类型。
2、protected:继承的类可以访问protected成员,但是不能访问private成员。
参考资料来源:百度百科-Private
参考资料来源:百度百科-Protected
--------------------------------------------------------------------
1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用
2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用。
3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。
扩展资料:
三种类型的继承,父类的成员均被子类继承(之前的百科关于这点的描述是错误的),只是由类实例化的对象对其继承的成员的访问权限会有所变化。三种不同方式的继承,描述的是子类实例化对象对其成员的访问权限,并非是描述子类时,子类对继承自父类的成员的访问权限。
公有继承 继承自父类的成员保持不变。
私有继承 继承自父类的成员全部变为私有成员。
保护继承 继承自父类的公有成员变为保护成员,其余不变。
参考资料:类百度百科
标签:继承,成员,private,访问,protected,public From: https://www.cnblogs.com/seanhn/p/17969156