1、对象的本质
对象是一个具有状态、行为和标识符的实体。结构和行为类似的对象定义在它们共同的类中。
1、1 对象的状态:
包括这个对象的所有属性以及每个属性的当前值
一个属性是一种内在或独特的特征、特点、品质或特性
1.2 对象的行为
对象在状态改变或消息传递方面的动作或反映方式
对象的状态代表一个类行为的累积
1、方法:代表一对象提供给其他对象的一种服务
修改、选择、遍历、构造、销毁
2、角色和责任
对象的状态和行为共同决定了这个对象可以扮演的角色
对象扮演的角色是动态的,也是互斥的
3、对象的自动机
区分是主动还是被动的
主动对象是控制中心
1.3 标识符
注意区分对象名称和对象本身
2、对象的关系
2、1 链接,link
两个对象之间物理或概念上的联系
控制器、服务器、代理
可见性
同步、顺序、守卫、并发
2、2 聚合:整体/部分层次结构
3、类的本质
3、1 什么是类,什么不是类?
类代表一种抽象,即对象的本质
类是一组对象他们拥有共同的结构、行为和语义
3、2 接口和实现
接口强调外部视图,强调抽象
实现强调内部结构,包含类行为的秘密
3、3 类的生命周期
4、类之间的关系
4、1 关联关系
语义上的依赖关联,多重性,1:N 1:1 N:N
4、2 继承关系
单继承、多态、多继承
4、3 聚合关系:整体/部分的关系
4、4 依赖关系
5、类与对象的互动
关键抽象-从问题域的词汇表中确定出类
工作机制-创建一些结构,让多组对象一起动作,提供满足问题需求的行为
6、创建高品质的类
6、1评判一种抽象的品种
耦合
内聚
充分性
完整性
基础性
6、2 选择方法的原则
功能语义,所有方法保持基础性
可复用性、复杂性、适用性、实现知识
时间和空间语义:完成方法所需的时间及存储机制
6、3 选择关系
1、Demeter法则
2、机制和可见性
6、4 选择实现
1、表示方式:实现方法
2、打包:模块中声明类和对象