数据抽象
仅向用户暴露接口而把具体的实现细节隐藏起来的机制 (而抽象类是指含有虚函数的类)
使用访问标签来定义类的抽象接口。
一个类可以包含多个或零个访问标签
使用公共标签定义的成员都可以访问该程序的所有部分。一个类型的数据抽象视图是由它的公共成员来定义的。
使用私有标签定义的成员无法访问到使用类的代码。私有部分对使用类型的代码隐藏了实现细节。
指定的访问级别会一直有效,直到遇到下一个访问标签或者遇到类主体的关闭右括号为止。
如果只在类的私有部分定义数据成员,就可以随意更改数据。如果实现发生改变,则只需要检查类的代码,看看这个改变会导致哪些影响。 如果数据是公有的,则任何直接访问旧表示形式的数据成员的函数都可能受到影响。
数据封装
把数据和操作数据的函数绑定在一起的机制
C++通过创建类来实现封装和数据隐藏
通常设置类成员状态为private, 用于数据成员、虚函数,以保证良好的封装性