面向对象开发的优点
- 把软件看成是各种对象的集合,对象就是最小的子系统
- 软件要求的变动往往是功能变动,而执行者——对象一般不太变
- 对象包括行为和属性,即方法和相关数据,打包封装为对象。
- 支持封装、抽象、继承和多态
对象的设计
自顶向下分解、自底向上抽象,再由上至下的调整使得类的继承合理化。
从问题领域的陈述入手,开发者与用户交谈,以用户的熟悉领域入手,通过具体实例建立共同语言,要通过交谈彻底了解用户的需求,然后建立正确的对象模型。
开发人员需要建立以下抽象思维——
- 通过建立属性与行为,把实例抽象为对象;
- 把具有相同属性行为的对象抽象为类;
- 把多个类的共性抽象为父类。
UML
Unified Modeling Language 统一建模语言
Rational Rose
可视化建模工具
plantuml
Guide | starting | online