类与类之间的几种关系

一、继承关系      继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。在Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。 

二、实现关系      实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性。在UML类图设计中,实现用一条带空心三角箭头的虚线表示,从类指向实现的接口。

三、依赖关系      简单的理解,依赖就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖。表现在代码层面,为类B作为参数被类A在某个method方法中使用。

四、关联关系  关联体现的是两个类之间语义级别的一种强依赖关系,比如我和我的朋友,这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。关联可以是单向、双向的。表现在代码层面,为被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。

五、聚合关系      聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。比如计算机与CPU、公司与员工的关系等,比如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。

六、组合关系     组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。

时间: 2025-01-09 13:45:04

类与类之间的几种关系的相关文章

浅谈UML类图中类之间的5种关系

什么是UML类图? 类图显示了一组类.接口.协作以及他们之间的关系.在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统.类加上他们之间的关系就构成了类图,类图中还可以包含接口.包等元素,也可以包括对象.链等实例. 类与类之间的关系 类与类之间的关系可以根据关系的强度依次分为以下五种: 依赖关系(Dependency)---关联关系(Association)---聚合(Aggregation)---组合(Composition)---泛化(Generalizatio

[UML] UML中类之间的几种关系

类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition).泛化(generalization,也有的称继承).实现(Realization). 1:  关联是指两个类之间存在某种特定的对应关系,例如客户和订单,一个订单只能属于某个客户,一个客户可能会有多张订单.根据方向,分为单向和双向.根据对应的数量分为一对一.一对多.多对多等.对应的UML图如下所示:     关联关系用实线+箭头表示

类之间的几种关系

Java类之间的关联关系 UML类图中的关系分为四种:泛化.依赖.关联.实现:关联关系又可以细化为聚合和组合. 一.泛化(Generalization) 泛化是父类和子类之间的关系,子类继承父类的所有结构和行为.在子类中可以增加新的结构和行为,也可以覆写父类的行为. 一般用一个带空心箭头的实线表示泛化关系,UML图如下: 泛化对应Java中继承关系,即子类继承父类中出private修饰外的所有东西(变量.方法等).示例代码: public class Animal { } public clas

类之间的三种关系

前言 一个程序的实现往往涉及到多个类,而类与类之间常常” 有关系 ”.本文将讲述类之间最常见最经典的三种关系. 依赖关系 uses - a 这是最明显,最常见的一种关系.如果一个类的方法需要操控另一个类的对象,我们就说一个类依赖于另一个类. 常见的例子有订单系统中的订单类和账户类,因为订单类需要访问账户类查看其信用状态. 我们应当使这种关系的类最少,也即使类之间的耦合度最小. 聚合关系 has - a 这是最好理解的一种关系,即一个类的对象包含另一个类的对象,我们就说一个类聚合于另一个类. 继承

类与类之间的6种关系

分别是:继承,实现,依赖,关联,聚合,组合. 1.继承: public class Father { } public class Son extends Father{ //继承Father类 } 2.实现: public interface A { // 声明一个接口(注意:接口不是类) } public class B implements A{ // 实现接口A } 3.依赖:A类方法中的参数包含了B. public class Car { public static void run(

UML中类之间的几种关系

类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition).泛化(generalization,也有的称继承).实现(Realization). 关联是指两个类之间存在某种特定的对应关系,例如客户和订单,一个订单只能属于某个客户,一个客户可能会有多张订单.根据方向,分为单向和双向.根据对应的数量分为一对一.一对多.多对多等.对应的UML图如下所示:     关联关系用实线+箭头表示.上图显

三十九、表与表之间的三种关系

把所有数据都存放于一张表的弊端: 1.组织结构不清晰 2.浪费硬盘空间 3.扩展性极差 一.一对多:员工和部门 1.如何查找表与表之间的关系 以员工和部门表为例.查找表关系需要做到换位思考(站在两边去找表关系) 先站在员工表: 找员工表的多条数据能否对应部门表的一条数据 翻译: 多个员工能否属于一个部门 可以!之后不能直接下结论,还需要站在部门表的角度再确认关系 再站在部门表: 找部门表的多条数据能否对应员工表的一条数据 翻译: 多个部门能否有同一个员工 不可以! 只有站在两边表的角度都分析过了

类之间的四种关系

类间关系有很多种,在大的类别上可以分为两种:纵向关系.横向关系. 纵向关系就是继承关系,它的概念非常明确,也成为OO的三个重要特征之一,这里不过多的讨论. 横向关系较为微妙,按照UML的建议大体上可以分为四种: 依赖    (Dependency) 关联    (Association) 聚合    (Aggregation) 组合    (Composition) 它们的强弱关系是没有异议的:依赖 < 关联 < 聚合 < 组合 然而它们四个之间的差别却又不那么好拿捏,需要好好体会. 依

UML类图画法及类之间几种关系

文章目录如下: 一.类图画法 二.类之间的几种关系:泛化(Generalization).实现(Realization).关联(Association)(又分一般关联.聚合(Aggregation).组合(Composition)).依赖(Dependency) 一.类图画法 1.  类图的概念 A.显示出类.接口以及它们之间的静态结构和关系 B.用于描述系统的结构化设计 2.  类图的元素 类.接口.协作.关系,我们只简单介绍一下这四种元素. 同其他的图一样,类图也可以包含注解和限制. 类图中