public,private,protected 区别

(1)、公有成员public member 在程序的任何地方都可以被访问实行信息隐藏的类将其public 成员限制在成员函数上这种函数定义了可以被一般程序用来操纵该类类型对象的操作

(2)、私有成员private member 只能被成员函数和类的友元访问实行信息隐藏的类把其数据成员声明为private

(3)、被保护成员protected member 对派生类derived class 就像 public 成员一样对其他程序则表现得像private


在类的private:节中声明的成员(无论数据成员或是成员函数)仅仅能被类的成员函数和友元访问。

在类的protected: 节中声明的成员(无论数据成员或是成员函数)仅仅能被类的成员函数,友元以及子类的成员函数和友元访问。

在类的public:节中声明的成员(无论数据成员或是成员函数)能被任何人访问。

        public、private或proteced,它们控制变量成员和成员函数在类内和类外如何访问。所谓类内访问是指用类的成员函数进行访问,而类外访问是指用对象或指向对象的指针进行访问。 


总结:
 当一个类的成员定义为public,就能够在类外访问,包括它的派生类。 
 当一个成员定义为private,它仅能在类内访问,不能被它的派生类访问。 
 当一个成员定义为proteced,它仅能在类内访问,但是能被它的派生类访问。 
 当一个成员没有指定访问说明符时,默认为private。 
 
 
        在定义派生类时,访问说明符也能出现在基类的前面,它控制基类的变量成员和成员函数在派生类中的访问方法。当访问说明符为public时,称为公有继承。同样地,当问说明符为protected时,称为保护继承,而当问说明符为private时,称为私有继承。

 
 公有继承时,基类的公有成员,变为派生类的公有成员,基类的保护成员,变为派生类的保护成员。 

 保护继承时,基类的公有和保护成员,均变为派生类的保护成员。 
 私有继承时,基类的公有和保护成员,均变为派生类的私有成员。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在面向对象编程成员变量和成员函数可以用三种不同的访问修饰符来修饰,分别是 publicprivateprotected。 - public: 公有成员,在任何地方都可以被访问。 - private: 私有成员,只能在内部被访问。 - protected: 保护成员,在内部和派生可以被访问。 一般来说,我们应该将的数据成员设置为私有,只在内部操作和访问,这样可以保证数据的完整性和程序的封装性。提供公有的成员函数来操作和访问的私有数据,更好的实现了数据的抽象。 使用protected权限的适用场景 是派生需要访问的私有成员或者保护成员来实现某些特殊功能。 ### 回答2: publicprivateprotected是面向对象编程访问权限修饰符的三种,它们的作用是控制成员变量和成员方法的访问范围,以保证代码的封装性、安全性和可维护性。 1. public public修饰符表示公共的,可以被任何和对象访问,是最开放的访问权限修饰符。在一个public成员变量和方法可以在该的内部及其它访问,而且可以直接通过对象调用。当一个方法或成员变量被声明为public时,它就是公共可见的,允许任何和对象都可以访问它。 2. private private修饰符表示私有的,只能被当前成员方法访问,是最严格的访问权限修饰符。在一个private成员变量和方法是完全屏蔽的,不能被该的外部和其它访问。只有该成员方法可以访问private变量,而且只能通过this关键字进行访问。这样可保证的数据隐私性和安全性。 3. protected protected修饰符表示受保护的,只能被当前和其子成员方法访问。在一个protected成员变量和方法可以在当前及其子的内部被访问,但在其它是不能访问的。当一个成员被声明为protected时,它就可以被该的子访问,但在该的外部和不属于该的子是不能被访问的。 总结: publicprivateprotected这三种访问修饰符的作用是:保护的变量和方法封装性、促进代码的复用和扩展、提高程序的安全性和可维护性。public是最宽松的权限,可以被任何和对象调用和访问private是最严格的权限,只能在当前的方法访问,不能在类外访问protected权限介于publicprivate之间,可以被当前和其继承的子访问。推荐使用private权限,以提高程序的安全性和封装性。 ### 回答3: 在面向对象编程publicprivateprotected是三个关键字,用于限定成员访问级别。下面分别介绍它们的区别。 1. public public表示公共的,即该成员对外公开,其他和对象都可以访问。例如,一个Personpublic成员变量name,其它可以使用该变量来获取和修改Person对象的姓名属性。public成员可以在类外部直接访问,也可以通过对象进行访问。 2. private private表示私有的,即该成员只允许本的其他成员访问,其他和对象都不能访问。例如,一个Personprivate成员变量id,只有Person的其他成员方法可以访问该变量,外部的对象无法直接访问该变量。private成员只能在本访问,通过对象访问它会编译错误。 3. protected protected表示受保护的,即该成员对本和子可见,其他和对象都不能访问。例如,一个Fatherprotected成员变量age,子Son可以访问该变量,但Father的对象和其他都不能访问protected成员可以在本和子访问,但不能通过对象访问。 总之,publicprivateprotected关键字是用来控制成员访问权限的。public成员可以在的内部和外部被访问private只能在的内部被访问protected可以在的内部和子访问。控制访问权限可以保证程序的安全性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值