UML-面向对象技术

【内容】

1.面向对象技术的基本概念

(1)对象(Object)

范畴广泛,例如:物理实体、概念实体、软件实体

对象描述一个事物,它具有:状态、行为、标识。

名称

含义

状态

静态信息

行为

动态信息,反映了一个对象将如何响应其他对象

标识

对象的名字

UML中对象的表示:对象名、:所属的类名、对象名:对象所属的类名

(2)类(Class)

类是对一组具有相同属性,行为,关系和语义的对象的描述。

一个对象是一个类的实例。

类的表示:

类的表示

图示

类名、属性、方法

UML-面向对象技术

类名、属性

UML-面向对象技术

类名、方法

UML-面向对象技术

类名

UML-面向对象技术

 

类和对象的关系:

类是对象的抽象定义,对象是类的实例。

类定义了属性和方法,提供了一个创建对象的模板。

(3)属性(Attributes)

描述的是类的静态信息。

UML-面向对象技术

(4)操作(Operation)

UML-面向对象技术

(5)接口(Interface)(Polymorphism)

UML-面向对象技术

(6)组件(Components)

一个组件可以是一个源程序、运行时动态库、可执行程序。

组件

图示

源程序

UML-面向对象技术

运行时动态库

UML-面向对象技术

可执行程序

UML-面向对象技术

 

组件之间的关系:

1)可视化源代码之间的依赖关系

UML-面向对象技术

2)可视化DLL、EXE之间的依赖关系

UML-面向对象技术

(7)包(Package)

一个逻辑的组织单位,把软件系统中的代码分成一个个逻辑块,使代码层次关系更加清晰。

UML-面向对象技术

(8)子系统(Subsystem)

UML-面向对象技术

(9)关系(Relationships)

对象之间的关系:关联(聚合、组合)、依赖、泛化(单重继承、多重继承)、实现

聚合:

将多个对象分成一组(不影响各自的功能,弱组合);

在Java中,创建整体时不必创建局部。

UML-面向对象技术

组合:

各个节点组成一个对象(若该对象拆分,节点也不再存在,强组合);

在Java中,创建整体时必须创建局部。

UML-面向对象技术

比较:

UML-面向对象技术

依赖关系:

UML-面向对象技术

泛化关系(继承关系)

UML-面向对象技术

单重继承

UML-面向对象技术

多重继承

UML-面向对象技术

2.面向对象技术的基本原则

抽象(Abstraction):抽象出系统中有哪些对象,哪些类。

封装(Encapsulation):将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体。

模块性(Modularity):把一个软件系统分成几个模块(或子系统)。

层次性(Hierarchy):一个软件系统中类、对象之间的一种依赖关系。

3.面向对象语言的三大特点:封装性、继承性、多态性

封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和发光法只让可信的类或者对象操作,对不可信的进行信息隐藏。

继承:是子对象可以继承父对象的属性和行为,即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。

多态:不同厂家电视机,收到相同的消息,产生不同的行为。

UML-面向对象技术