C++学习面向对象之封装
面向对象有三大特征:封装、继承、多态
面向对象有属性与行为
封装的意义一
1、将属性与行为作为一个整体,表现生活中的事物
2、将属性与行为加以权限控制
语法:class 类名{访问权限: 属性/行为}
属性/行为统一叫做成员
属性叫做:成员属性、成员变量
行为叫做:成员函数、成员方法
class Dog { public int age;public void eat();....};
Dog dog1;//创建具体的一个对象dog1;这个叫做实例化一个对象
dog1.age = 2;//通过小点点进行对属性与行为进行操作
封装的意义二
类在设计时,可以把属性与行为放在不同的权限下,加以控制
权限:
public : 公共的 成员 在类内可以访问,内外可以访问
protected :保护的 成员 在类内可以访问,内外不可以访问 (子也可以访问父中的保护权限)
private : 私有的 成员 在类内可以访问,内外不可以访问 (子不可以访问父中的私有权限)
class 与 struct 的区别
在c++中class与struct唯一不同在于默认访问的权限不同(struct也可以看作一个类)
class的默认访问权限是private
struct的默认访问权限是public
将成员设置为私有
优点:
1、将所有成员属性设置为私有,可以控制成员属性的读写权限
2、对于写的权限,可以检测数据的有效性(set(){判断写的数据的合法性})