面向对象设计理念
一、设计类的方法
1. 确定类的功能和职责。需先只考虑外部对象如何使用这个对象以及如何与其他类交互,识别出基本的接口(使用高层次的抽象思维设计)。
2. 依据类的功能分析,确定出类的基本属性数据。
3. 在接口中调用隐藏的实现方法,构成一个粗粒度流程。且分析接口是否合理(是否有利于对象操作)。
4. 具体实现所有的私有方法,并相应的扩充数据属性。
5. 再反复的迭代来逐渐地扩展系统,且给用户提供尽可能少得接口。
二、类之间协作
1. 继承与多态(is-a关系)。通过分析类的共性,构建抽象类或接口类(不含实现的类),从而实现代码重用以及建立框架。
2. 组合关系(has-a关系)。组合可降低构建系统的复杂性,且保证了组件的可替换性,分阶段构建子系统和系统(复杂系统通常具有一定层级结构,可由更简单子系统构成)。
3. 组合类型:聚合(只看到整体,如电视机)、联合(看到的是组成整体的部分,如计算机系统)。使用组合应避免对象之间高度依赖
4.UML模型语言