抽象类表示

Download Report

Transcript 抽象类表示

《如何使用UML》基础知识
陈王贤
2014-1-16
学习目标




掌握UML基础图形
了解UML语言结构
了解UML的8种视图(总13种)
UML画图工具astah入门
内容概要



面向对象基础
UML语言结构
astah工具介绍
内容概要



面向对象基础
UML语言结构
astah工具介绍
面向对象基础



类和对象
类的属性、方法(也翻译为操作、动作)
类和类的关系






继承(也翻译为泛化)。子类和父类
关联
依赖
聚合和组合
抽象类接口类
类的多态特性
类和对象

类是具有相同属性和操作的对象集合的总
称。它是面向对象的一个基本概念,类封
装了客观世界中对象实体的特征与行为,
即属性与方法。
类的属性、方法
类的继承
类的依赖
类的关联
关联的修饰






关联的导航箭头
类在关联中的角色名
关联的命名
关联的类的多重性
约束符
限定符
类的聚合

聚合是关联的一种,是较强的关联
类的组合

组合也是关联的一种,是比聚合更强的关
联
关联 聚合 组合的区别



聚合是关联的一种,是较强的关联
组合也是关联的一种,是比聚合更强的关
联
类与类之间的关系图
抽象类



百度百科
抽象类是不能实例化的类,但是其中的方
法可以包含具体实现代码
在C++中,含有纯虚拟函数(最少含有1个)的
类称为抽象类,它不能生成对象;可以包
含一般的方法
接口类


接口是一组方法声明的集合,其中应仅包
含方法的声明,不能有任何实现代码
在C++中,如果想定义一个接口,可以通过
将一个类中所有方法定义为纯虚方法来做
到
抽象类和接口类的区别


抽象类表示“是一个(IS-A)”关系的抽象,
它抽象了类的本体,其使用动机是在不允
许实例化的限制下复用代码。接口表示
“能(CAN-DO)”关系的抽象,它抽象了
类的行为,其使用动机是松散对象间的耦
合以及实现程序多态性
抽象类与接口的区别及应用
类的多态特性
面向对象的三大特征:
 1.封装:保证对象自身数据的完整性、安全性
 2.继承:建立类之间的关系,实现代码复用、方
便系统的扩展
 3.多态:相同的方法调用可实现不同的实现方式。
C++有两种多态:
 1.编译时的多态:函数重载和运算符重载,在编
译时就决定调用哪个函数
 2.运行时的多态:通过类继承和虚函数实现的。
运行时的多态
小结




类的UML表示
类之间的关系
抽象类和接口类
类的多态特性
内容概要

面向对象基础

UML语言构成

astah工具介绍
UML语言构成



构造块——这些是基本UML建模元素、关系和图。
公共机制——表达语义细节的公共规定。
构架——系统构架的UML视图。
1)UML构造块
•物件:这些是建模元素本身。
•关系:这些把物件联系在一起,关系说明两个或多个物件是如
何语义相关的。
•图:这些是UML模型的视图,它们展现物件的集合。
1.1)物件




结构物件:UML模型的名词,如类、接口、协作、
用例、活动类、组件、节点。
行为物件:UML模型的动词,如交互、状态机。
组物件:包,它用于把语义上相关的建模元素分
组为内聚的单元。
注解物件:注解,它附加到模型以捕获特殊信息。
1.2)关系
1.3)图
2)UML公共机制




规格说明:模型模板的、图标的定义
公共分类:各种元素的名词解释
修饰:模型元素的要点,如初始值、返回值、公用/私有等
扩展机制:约束、自定义结构等
2.1)规格说明
2.2)公共分类
2.3)修饰
2.4)扩展机制
3)UML架构





逻辑视图:捕获问题域的词汇,作为类和对象的集合。重
点是展示对象和类是如何组成系统、实现所需系统行为的
进程视图:建模在我们系统中的可执行线程和进程作为活
动类。其实,它是逻辑视图面向进程的变体,包含所有相
同的制品。
实现视图:对组成基于系统的物理代码的文件和组件进行
建模。它同样展示出组件之间依赖,展示一组组件的配置
管理以定义系统的版本。
部署视图:建模把组件物理地部署到一组物理的、可计算
节点上,如计算机和外设上。它允许你建模横跨分布式系
统节点上的组件的分布。
用例视图:所有其他视图都是从用例视图派生而来,该视
图把系统的基本需求捕获为一组用例,并提供构造其他视
图的基础。
内容概要

面向对象基础
UML语言结构

astah工具介绍

对UML工具的要求
嵌入式设计对UML工具的要求




工具简练,容易上手
操作简单,最好和visio类似
生成的图漂亮
容易修改
astah介绍和演示