类的public, private, protected有什么区别?

如何区别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。

扩展资料:

三种类型的继承,父类的成员均被子类继承(之前的百科关于这点的描述是错误的),只是由类实例化的对象对其继承的成员的访问权限会有所变化。三种不同方式的继承,描述的是子类实例化对象对其成员的访问权限,并非是描述子类时,子类对继承自父类的成员的访问权限。

公有继承    继承自父类的成员保持不变。

私有继承    继承自父类的成员全部变为私有成员。

保护继承    继承自父类的公有成员变为保护成员,其余不变。

参考资料:类百度百科

posted @ 2024-01-17 09:46  Sean_hn  阅读(56)  评论(0编辑  收藏  举报