类的访问限定符及封装
访问限定符
C++实现封装的方式:用类将对象的属性和方法结合在一快,让对象更加完善,通过访问权限选择性的将其接口提供给外部的用户使用。
【访问限定符说明】
1.public修饰的成员在类外可以直接被访问
2.protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)
3.访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
4.class默认访问权限为private,struct为public(因为strcut要兼容C)
注意:访问限定符只在编译时有用,当数据映射到内存后,没有任何访问限定符上的区别
【面试题】
问题:C++中struct 和 class 的区别时什么?
解答:C++需要兼容C语言,所以C++中struct可以当成结构体去使用。另外C++中struct可以用来定义类和class时定义类是一样的,区别是struct的成员默认访问方式是public,class是struct的成员默认访问方式是private
封装
**【面试题】**面向对象的三大特性:封装,继承,多态
在类和对象阶段,我们只研究类的封装性,那么什么是封装呢?
封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互。
封装本质上是一种管理:我们如何管理兵马俑呢?比如如果什么都不管,兵马俑就被随意破坏了。那么我们首先建了一座房子把兵马俑给封装起来。当时我们目的不是全部封装起来,所以我们参观通道,可以突破封装在合理的监管机制下进去参观。类也是一样,我们使用类数据和方法都封装一些。我们使用protected/private把成员封装起来。开放一些共有的成员函数对成员合理的访问。所以封装本质是一种管理。