码迷,mamicode.com
首页 > 其他好文 > 详细

类之间的关系

时间:2020-03-17 08:04:01      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:表示   标记   mil   关联关系   inf   http   方向   组合   height   

UML类图

Class Diagram:用于表示类、接口、实例等之间相互的静态关系

虽然名字叫类图,但是类图中并不是只有类

 

记忆技巧

UML箭头方向,从子类指向父类。

 

定义子类时需要通过extends关键字指定父类

子类一定是知道父类定义的,但是父类并不知道子类的定义

只有知道对方信息时才能指向对方

所以箭头的方向是从子类指向父类

 

实线-继承 | 虚线-实现

空心三角箭头:继承或实现

实线-继承

虚线-实现

技术图片

 

 

实线-关联 | 虚线-依赖

实线表示关联关系

表示一个类对象和另一个类对象有关联

通常是一个类中有另一个类对象作为属性

 技术图片

 

 

 

 

虚线表示依赖关系

表示一种使用关系,一个类需要借助另一个类来实现功能

一般是一个类使用另一个类作为参数使用,或作为返回值

 技术图片

 

 

 

空心菱形-聚合|实心菱形-组合

菱形就是一个盛东西的器皿(例如盘子)

 

聚合:代表空器皿里面可以放很多东西,聚在一起(箭头方向所指的类)

整体和局部的关系,两者有着独立的生命周期,是has a 的关系

弱关系

消极的词:弱-空

 技术图片

 

 

 

组合:代表满器皿里面已经有实体结构的存在,生死与共

整体与局部的关系,和聚合的关系相比,关系更加强烈,两者有着相同的生命周期

Contains-a的关系

强关系

积极的词:强-满

 技术图片

 

 

 

常见的数字表达含义

假设有A类和B类,数字标记在A类侧

0..1  0个或一个实例

0..*  0个或多个实例

1..1  1个实例

1 只能有一个实例

1..* 至少有一个实例

 

UML类图讲解

 技术图片

 

 

GeelyClass应该是斜体的因为study是抽象方法

斜体则表示抽象,如果是接口则有尖括号

+ public

- private

#protected

~(或者什么都不加) 默认的包权限

———横线代表static属性

 

UML类图自上而下

 技术图片

 

(1)动物依赖于氧气和水,氧气和水作为动物方法的参数,是虚线表示的,箭头方向是指向被依赖的方向

(2)动物是一个父类,鸟呢是一种动物,鸟 is a 动物 ,空心箭头表示泛化关系或者继承关系,而这里表示继承。(鸟继承自动物,而动物是鸟的泛化,继承关系是泛化关系的反关系,也就是说子类是从父类继承的,而父类则是子类的泛化)

(3)一个鸟有两个翅膀这里是组合关系(实心菱形加箭头,组合关系具有相同的生命周期,比如鸟挂了,那么它的翅膀也就没有生命力了)

(4)鸟作为动物的子类,但是又作为大雁、鸭和企鹅的父类。企鹅、大雁、鸭都是鸟,但是他们仨也都是动物,所以他们三个使用继承关系继承鸟

(5)企鹅非常注重气候,如果气候太热的话它也就活不下去了,关联关系一般是一个类中有另外一个类的对象作为属性,企鹅有一个属性就是气候(关联关系使用实线的箭头,企鹅关联哪个类就指向哪个类)

(6)大雁群是N个大雁组成的(聚合关系是空心菱形和箭头,是整体和局部的关系,两者拥有独立的生命周期,是has a 的关系,比如大雁群有很多大雁其中有一只大雁生病挂了,但是大雁群还是存在,但是对于挂了的那只大雁生命周期已经结束了,所以他们有着独立的生命周期)

(7)大雁是可以飞的,所以它实现了飞翔接口,实现关系

(8)鸭作为鸟的子类,同时又是唐老鸭的父类,唐老鸭继承鸭之后呢又多了一个自己的方法,唐老鸭又实现了一个接口那就是讲人话。(这里是用的棒棒糖表示法)

 

组合聚合菱形记忆技巧:菱形就是一个盘子,是一个器皿可以盛东西,菱形在拥有者这一方,一个鸟拥有两个翅膀,一个大雁群有多只大雁,所以菱形在鸟和大雁群这一方。

类之间的关系

标签:表示   标记   mil   关联关系   inf   http   方向   组合   height   

原文地址:https://www.cnblogs.com/pandayo/p/12508141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!