关联、依赖、聚合、组合

秋纹
• 阅读 2527

uml中箭头的方向

  • 定义子类时需要通过extends关键字指向父类
  • 子类一定是知道父类定义的,但父类并不知道子类的定义
  • 只有知道对方信息时才能指向对方
  • 所以箭头方向是从类指向

继承 | 实现

  • 空心三角箭头:继承实现
  • 线-继承,is a 关系,扩展目的,不虚,很结实
  • 线-实现,虚线代表“虚”无实体

关联、依赖、聚合、组合

关联 | 依赖

虚线-依赖关系

  • 临时用一下,表示一种使用关系,一个类需要借助另一个类来实现功能
  • 一般是一个类使用另一个类作为参数使用,或作为返回值

关联、依赖、聚合、组合

实线-关联关系

  • 关系稳定,表示一个类对象和另一个类对象有关联
  • 通常是一个类中有另一个类对象作为属性

关联、依赖、聚合、组合

聚合 | 组合

聚合

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

关联、依赖、聚合、组合

组合

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

关联、依赖、聚合、组合

关联、依赖、聚合、组合

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java中多态的实现机制
多态的概念:  简单来说就是事物在运行过程中存在的不同状态,即父类或接口定义的引用变量指向子类或具体实现类的实例对象。程序调用方法在运行期才进行动态绑定,而不是引用变量的类型中定义的方法。多态存在的前提:1、存在继承关系,子类继承父类;2、子类重写父类的方法;3、父类引用指向子类对象。具体实例:1、定义一个父类:Animal
Wesley13 Wesley13
3年前
java向上转型和向下转型1
  在java继承体系中,认为父类(超类)在上层,子类在下层(派生类),向上转型就是把子类对象转成父类对象。1publicclassFather{2publicvoideat(){3System.out.println("我是父类的方法吃。。。。。");4}
Jacquelyn38 Jacquelyn38
4年前
你不可不知的JS面试题(第二期)
1、什么是继承?子类可以使用父类的所有功能,并且对功能进行扩展。新增方法改用方法(1)、ES6使用extends子类继承父类的方法。// 父类    class A        constructor(name)            this.name name;                getNa
Bill78 Bill78
4年前
Python的新式类和旧式类
概述:Python中支持多继承,也就是一个子类可以继承多个父类/基类。当一个调用一个自身没有定义的属性时,它是按照何种顺序去父类中寻找的呢?尤其是当众多父类中都包含有同名的属性,这就涉及到新式类和经典类的区别。多继承:classFood(object):23def__init__(self,name,col
Wesley13 Wesley13
3年前
C++中基类虚析构函数的作用及其原理分析
虚析构函数的理论前提是执行完子类的析构函数,那么父类的虚构函数必然会被执行。那么当用delete释放一个父类指针所实例化的子类对象时,如果没有定义虚析构函数,那么将只会调用父类的析构函数,而不会调用子类的虚构函数,导致内存的泄漏。故: 继承时,要养成的一个好习惯就是,基类析构函数中,加上virtual。知识背景     
Stella981 Stella981
3年前
Python Day24:类的继承、派生、覆盖、super()、绑定、非绑定方法
类的继承、派生、覆盖、super()python类的继承:子类继承父类,只需要在定义类的时候在类名后面加上(父类名)。继承之后,父类的属性方法、子类都可以访问派生:子类继承父类后,自己在父类的基础上,又添加了一些属于自己特性的属性、方法
Stella981 Stella981
3年前
Python3中的super()函数详解
关于Python3中的super()函数我们都知道,在Python3中子类在继承父类的时候,当子类中的方法与父类中的方法重名时,子类中的方法会覆盖父类中的方法,那么,如果我们想实现同时调用父类和子类中的同名方法,就需要使用到super()这个函数,用法为super().函数名()下面是一个例子:
Wesley13 Wesley13
3年前
Java的类继承
知识点1、继承作用:提高代码的重用性,继承之后子类可以继承父类中的属性和方法减少重复代码条件:子类和父类要满足isa的逻辑关系,才能使用继承。如:苹果isa水果语法:使用extends连接子类和父类。子类extends父类Java是单继承,一个类只能继承一个父类。子类不能继承父类私有的属性,但是可以
Stella981 Stella981
3年前
ES6中class类的extends继承
在ES6中,class之间可以通过extends进行继承:我们先定义一个父类Point:classPoint{constructor(color){this.colorcolor;}}之后再定义一个子类,让
Wesley13 Wesley13
3年前
Java基础——继承
extends在java中使用extends关键字来表示继承关系。当创建一个类时,总是在继承,如果在类中声明中没有extends关键字,就总是隐式地从java.lang.Object类继承而来的,所以Object是所有类的元类,class子类名称extends父类名称例如:cl
Easter79 Easter79
3年前
Swift专题讲解十四——继承
Swift专题讲解十四——继承一、引言      Swift中,一个类可以从另一个类继承方法、属性、下标及其他特性。当一个类继承于另一个类时,这个类被称为子类,所继承的类被称为父类。在Swift中,继承是类区别于其他类型的主要特征。子类除了可以调用父类的属性,下标,方法外,其也可以对父类的属性,下标,方法进
秋纹
秋纹
Lv1
雁啼红叶天,人醉黄花地,芭蕉雨声秋梦里。
文章
3
粉丝
0
获赞
0