首页 > 代码库 > 1.封装
1.封装
1.类和对象
- 类的定义:class
- 类成员的访问控制:public\private\protected
- 对象:类的某一特定实体
2.构造函数和析构函数
- 构造函数:函数名与类名相同,在对象被创建时自动调用
- 复制构造函数:具有一般构造函数所有特性,但其形参是本类对象的引用
- 析构函数:完成对象被删除前的一些清理工作。在对象生存期即将结束时刻被自动调用
3.前向引用声明
- 解决问题:循环依赖
- 具体内容:先声明类,然后使用类,最后实现类(作为形参/声明类对象指针/引用)
- 注意:在实现类之前,不能定义类对象
4.UML类图
- 数据成员表示语法:[访问控制属性] 名称 [:类型] [=默认值] [{约束特征}]
eg:-hour:int=0{只读}
- 函数成员语法:[访问控制属性] 名称 [(参数表)] [:返回类型] [{约束特征}]
eg:+showTime():void{只读}
- UML中,矩形表示一个对象,对象名字加下划线,由类名和对象名组成,“对象名:类名”
- 依赖关系:A-->B;A使用了类B,即A依赖B
- 关联:表述一个类的对象和另一个类的对象之间互相作用。A-B
- 包含关系
* 聚集:表示类之间关系是整体与部分,用空心菱形
* 组合:表示类之间关系是个体与个体,用实心菱形
- 继承关系:泛化,带有三角形的直线段
- 注释:带有皱角的矩形
5.结构体:(保持和C程序的兼容性)
和类类似,唯一区别在于默认控制属性不同,结构体为共有,类为私有
6.联合体:union
- 全部数据成员共享同一组内存单元,是一种特殊类,可以有数据成员和函数成员,可以有构造函数和析构函数,可以控制访问权限。默认控制属性为共有。
- 不能自定义构造析构重载复制构造
- 不能继承,不支持包含多态
1.封装