UML基础与应用之类图和包图

一、类图

(一)类

1.定义:对真实事物的抽象描述
2.包含:类名;属性;方法
3.类表示:+表示公有;-代表私有;#代表保护
UML基础与应用之类图和包图_第1张图片

(二)类的关系

1.关联(关联类:将两个对象连接看成一个类,叫做关联类;)
1.1 普通关联(Works in是关联名称;Employee和Employer是关联角色;0…*/1/1…*等体现多重性)
UML基础与应用之类图和包图_第2张图片
单向关联(导航关联);双向关联
UML基础与应用之类图和包图_第3张图片
1.2聚合(“整体/部分”;空心菱形表示)
UML基础与应用之类图和包图_第4张图片
1.3组合(实心菱形表示;部分依赖于整体)
UML基础与应用之类图和包图_第5张图片
2.依赖(一种使用关系,说明一个事物规格的变化可能影响到使用它的另一个事物;前者依赖于后这,箭头后依赖于箭头后)
UML基础与应用之类图和包图_第6张图片
3.泛化(描述的是类之间的继承关系;箭头是父类,尾部是子类)
UML基础与应用之类图和包图_第7张图片
3.1单重继承
UML基础与应用之类图和包图_第8张图片
3.2多重继承(Java中不可以直接实现多重继承,可通过接口实现)
UML基础与应用之类图和包图_第9张图片
4.实现(一个类元实现另一个类元的契约;虚线尾部实现箭头处的接口)
UML基础与应用之类图和包图_第10张图片

(三)类图构成

1.类图作用
用于描述系统的静态部分
2.类图构成
classes(类);interfaces(接口);collaborations(协作);relationships(关系);package(包);system(子系统)

(四)类图深入讨论

1.可见性(Visiblity)
public(name;+)/private(age;-)/protected(salary;#)/package(~)
UML基础与应用之类图和包图_第11张图片
2.范围(Scope)
2.1每个实例拥有自己的属性和方法,对于一个类的所有实例共享的成员是静态成员
2.2抽象类:不能被实例化(类图中用斜体表示);
2.3roof、leaf类在类图中用{roof}{leaf}表示;
2.4多重性
UML基础与应用之类图和包图_第12张图片
3.属性(Attributes)
UML基础与应用之类图和包图_第13张图片
4.操作(Operations)
UML基础与应用之类图和包图_第14张图片
5.模板类(Template Classes)
6.实用类(Utility Classes)

二、包图

1.作用
逻辑上将复杂的图模块化
2.图的图符
UML基础与应用之类图和包图_第15张图片
3.包的元素
类、接口、构件、用例、其他包等;若包被撤销,则其他的元素也被撤销
4.包之间的关系
泛化关系、细化关系、依赖关系
5.包的常见问题问题
UML基础与应用之类图和包图_第16张图片

三、对象图

(描述一个系统在某个时刻的静态结构,类图描述所有可能情况)
UML基础与应用之类图和包图_第17张图片

你可能感兴趣的:(C/S学习)