1. 基本原则
抽象(Abstraction)
几个类——类有哪些属性和方法——类之间的联系
封装(Encapsulation)
对客户隐藏实现,客户仅仅看到接口。
模块性(Modularity)
把一个系统分成一些子系统(大功能块)。
层次性(Hierarchy)
对象细化
2. 基本概念
对象(Object)
概念
描述一个事物
表示
用矩形表示,里面冒号前面是对象名,冒号后面是其所属类名。
内容
状态:对象的静态信息。
行为:反映了一个对象将如何响应其他对象。
标识:对象的名字。
类(Class)
概念
对一组有相同属性,行为,关系和语义的描述。
表示
用矩形表示,从上到下是类名,属性,方法。其中属性和方法可以隐藏。
属性(Attributes)
对象的静态信息。
操作(Operation)
对象的动态行为。
接口(Interface)
只写有什么方法名,不用写具体如何实现
组件(Components)
源程序;运行时动态库;可执行程序
包(Package)
包中是类
子系统(Subsystem)
包中子系统要用书名号括起来,接口用圆圈表示,包和接口中间用直线相连。
关系(Relationship)
关联
聚合
空心菱形指向主体部分,另一端指向部分
组合
实心菱形指向主体,约束更强
依赖
泛化
单重继承
多重继承