2023年7月26日发(作者:)
UML类图,类与类之间的⼏种关系⼀、继承关系继承指的是⼀个类(称为⼦类、⼦接⼝)继承另外的⼀个类(称为⽗类、⽗接⼝)的功能,并可以增加它⾃⼰的新功能的能⼒。在UML类图设计中,继承⽤⼀条带空⼼三⾓箭头的实线表⽰,从⼦类指向⽗类,或者⼦接⼝指向⽗接⼝。
⼆、实现关系实现指的是⼀个class类实现interface接⼝(可以是多个)的功能,实现是类与接⼝之间最常见的关系。在UML类图设计中,实现⽤⼀条带空⼼三⾓箭头的虚线表⽰,从类指向实现的接⼝。
还有⼀种表⽰⽅法为 棒棒糖表⽰法。
三、依赖关系 简单的理解,依赖就是⼀个类A使⽤到了另⼀个类B,⽽这种使⽤关系是具有偶然性的、临时性的、⾮常弱的,但是类B的变化会影响到类A。⽐如某⼈要过河,需要借⽤⼀条船,此时⼈与船之间的关系就是依赖。表现在代码层⾯,为类B作为参数被类A在某个method⽅法中使⽤。在UML类图设计中,依赖关系⽤由类A指向类B的带箭头虚线表⽰。
四、关联关系关联体现的是两个类之间语义级别的⼀种强依赖关系,⽐如我和我的朋友,这种关系⽐依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,⼀般是长期性的,⽽且双⽅的关系⼀般是平等的。关联可以是单向、双向的。表现在代码层⾯,为被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引⽤了⼀个类型为被关联类B的全局变量。在UML类图设计中,关联关系⽤由关联类A指向被关联类B的带箭头实线表⽰,在关联的两端可以标注关联双⽅的⾓⾊和多重性标记。 五、聚合关系 聚合是关联关系的⼀种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各⾃的⽣命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。⽐如计算机与CPU、公司与员⼯的关系等,⽐如⼀个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动⼒攻击潜艇等。表现在代码层⾯,和关联关系是⼀致的,只能从语义级别来区分。在UML类图设计中,聚合关系以空⼼菱形加实线箭头表⽰。六、组合关系组合也是关联关系的⼀种特例,它体现的是⼀种contains-a的关系,这种关系⽐聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的⽣命周期结束也就意味着部分的⽣命周期结束,⽐如⼈和⼈的⼤脑。表现在代码层⾯,和关联关系是⼀致的,只能从语义级别来区分。在UML类图设计中,组合关系以实⼼菱形加实线箭头表⽰。总结 对于继承、实现这两种关系没多少疑问,它们体现的是⼀种类和类、或者类与接⼝间的纵向关系。其他的四种关系体现的是类和类、或者类与接⼝间的引⽤、横向关系,是⽐较难区分的,有很多事物间的关系要想准确定位是很难的。前⾯也提到,这四种关系都是语义级别的,所以从代码层⾯并不能完全区分各种关系,但总的来说,后⼏种关系所表现的强弱程度依次为:组合>聚合>关联>依赖。参考博⽂
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690350512a336445.html
评论列表(0条)