UML-面向对象技术
【内容】
1.面向对象技术的基本概念
(1)对象(Object)
范畴广泛,例如:物理实体、概念实体、软件实体
对象描述一个事物,它具有:状态、行为、标识。
名称 |
含义 |
状态 |
静态信息 |
行为 |
动态信息,反映了一个对象将如何响应其他对象 |
标识 |
对象的名字 |
UML中对象的表示:对象名、:所属的类名、对象名:对象所属的类名
(2)类(Class)
类是对一组具有相同属性,行为,关系和语义的对象的描述。
一个对象是一个类的实例。
类的表示:
类的表示 |
图示 |
类名、属性、方法 |
|
类名、属性 |
|
类名、方法 |
|
类名 |
|
类和对象的关系:
类是对象的抽象定义,对象是类的实例。
类定义了属性和方法,提供了一个创建对象的模板。
(3)属性(Attributes)
描述的是类的静态信息。
(4)操作(Operation)
(5)接口(Interface)(Polymorphism)
(6)组件(Components)
一个组件可以是一个源程序、运行时动态库、可执行程序。
组件 |
图示 |
源程序 |
|
运行时动态库 |
|
可执行程序 |
|
组件之间的关系:
1)可视化源代码之间的依赖关系
2)可视化DLL、EXE之间的依赖关系
(7)包(Package)
一个逻辑的组织单位,把软件系统中的代码分成一个个逻辑块,使代码层次关系更加清晰。
(8)子系统(Subsystem)
(9)关系(Relationships)
对象之间的关系:关联(聚合、组合)、依赖、泛化(单重继承、多重继承)、实现
聚合:
将多个对象分成一组(不影响各自的功能,弱组合);
在Java中,创建整体时不必创建局部。
组合:
各个节点组成一个对象(若该对象拆分,节点也不再存在,强组合);
在Java中,创建整体时必须创建局部。
比较:
依赖关系:
泛化关系(继承关系)
单重继承
多重继承
2.面向对象技术的基本原则
抽象(Abstraction):抽象出系统中有哪些对象,哪些类。
封装(Encapsulation):将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体。
模块性(Modularity):把一个软件系统分成几个模块(或子系统)。
层次性(Hierarchy):一个软件系统中类、对象之间的一种依赖关系。
3.面向对象语言的三大特点:封装性、继承性、多态性
封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和发光法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承:是子对象可以继承父对象的属性和行为,即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。
多态:不同厂家电视机,收到相同的消息,产生不同的行为。