一:首先在我们更好的理解UML类图之前,我先用几个简单的小例子把UML类图所存在的关系给表达清楚-_-!

1)第一个叫泛化,名字听起来很高级,也就是我们常说的继承,就像古代的皇帝快要驾崩了,需要指定皇子来继承王位,但“继承”可要比皇子继承皇位(单继承)要牛多了,他给人的印象就像是“一人得到。鸡犬升天!”(多继承)。表示形式为子类(皇子)带有空三角的实线指向(”皇子他爹“)基类。

2)第二个叫实现,,没错就是接口需要实现的实现!(这玩意儿可以简单的理解为干饭,吃鲍鱼,澳龙,日本A5和牛搭配82年的拉菲是一顿充足而又朴实的一顿午餐,当然你吃一顿学校的黄焖鸡米饭13元,他也是充足而又朴实的一顿午餐!不管如何午餐我是吃定了,这个就叫实现了食物抽象类的吃饭方法。)这个玩意儿的在UML类图中的表现形式为:(需要吃饭的高级动物)一条带有空心三角箭头的虚线指向(食物抽象类)接口,(必须实现接口里的所有方法-_-!)

3)第三个叫依赖,这玩意儿就是一个类a使用到另一个类b,这种使用是临时的,非常偶然的,b的变化会影响到a(书面表达)。个人看法,你可以把它理解为你的女(男)朋友(延续香火必须要找对象),你的女(男)朋友生气,会导致你非常郁闷,非常非常的恶心,头痛,对吧,但是如果不结婚那么他(她)就对你(以后的日子)的影响就不会那么大,这个就叫依赖,在UML类图中的表示方式为:一条带有箭头的虚线指向被依赖的类(相对而言,也就是相对于你结婚这件事而言,你指向你女朋友)。

4)第四个叫关联,这个关系有两个分支:a,聚合关联b,组合关联。关联就是一个类知道另一个类的属性或者方法,它有两个端点且每个端点有个基数,1:只能有一个实例,1...*至少一个实例,0...*:有多少都可以,0..1:要么1个要么0个。

4.1 聚合关系:整体与部分,这个东西就像你的衣服,可穿少(夏天),可穿多(冬天),也可不穿(睡觉),在UML类图表现形式为:一条实线连接整体与部分,整体连接处部分为菱形,部分连接处为箭头。

4.2 组合关系:它比管理关系更强一些,它就像你的身体器官,假如阁下不幸噶了,那么你身体的各项器官也就噶了,没有你,那么你身体的各项器官也就没有任何意义了。在UML类图表现形式为:一条实线连接整体与部分,整体连接处部分为实心菱形,部分连接处为箭头。

二:实验过程

 我比较喜欢下象棋,所以我们就以车来做文章

a) 车的用途是为了方便交通,省去了耗费大量人力才能达到的结果,因此其他车类至少需要具备此特点,我们就可以把他抽象成一个接口。

b) 车的分类有很多,汽车,火车,货车,自行车,电驴子,三蹦子,新能源汽车,登月车,拖拉机等等。(等一下,简单的来个分类)

c) 车有这么多,那么我们与车的关系是怎么样的。不同分类的车又具有怎样不同的特点,以下,统统会给你解答:

 1:第一我们会有一个车的抽象类,我们简单的把他分为两类:汽车类和自行车类。我们的汽车类和自行车类都要实现车的抽象类,也就是车与汽车,自行车的关系是实现。

 2:汽车都必须有与之匹配的轮胎和汽油发动机,抑或是V型发动机,直立式发动机等。自行车也必须有自己合适的轮胎和脚踏板以及车把气门,链条等等。因此,汽车与汽油发动机,轮胎的关系是组合联系(不可分割的一部分),自行车也理当如此。

 3:汽车的品牌那就多了去了,兰博基尼,保时捷,凯迪拉克,雷克萨斯,玛莎拉蒂,阿斯顿马丁,迈凯伦等等,自行车有二八,崔克蝴蝶等等。汽车与品牌的关系就明显的多,聚合关系嘛!

 4:机车终归是给人服务的,那么人对车的关系呢就是依赖,只不过随着现代技术不断的更新和换代,人们逐渐是越来越离不开它了(并非没它不行,起码还有两只脚,不是吗?-_-)。

 5:人活着嘛总归需要产生一些价值,也就是工作,工作意味着未来嘛,对不对,现代青年都讲究一个“未来可期否?”,不可期,人生也不能直接结束啊,因此,人与工作的关系就是聚合关系。找工作的时候会需要你的学历,证书,奖项,也称之为敲门砖,这就是你的实力嘛,也就是和你相关联的东西。

 6):整体规划如下:

python实验报告心得体会 uml实验报告心得体会_抽象类

 

总结提高:不要急着去画图,先把他们的关系搞清楚,把各个类之间的依赖关系,关联关系,继承,实现的具体含义搞明白,有道是,磨刀不误砍柴工嘛,先理清思路,然后进行大刀阔斧的改革,这才是正确的道路!!!