类关系

常见的关系有:继承(Inheritance),关联关系(Association),聚合关系(Aggregation),复合关系(Composition),依赖关系(Dependency)。

其中,聚合关系(Aggregation),复合关系(Composition)属于关联关系(Association)。

一般关系表现为继承或实现关系(is a),关联关系表现为变量(has a ),依赖关系表现为函数中的参数(use a)。

一般化关系:表示为类与类之间的继承关系,接口与接口之间的继承,类对接口的实现关系。

表示方法: 用一个空心箭头+实线,箭头指向父类。或空心箭头+虚线,如果父类是接口。

关联关系:类与类之间的联接,它使一个类知道另一个类的属性和方法。

表示方法:用 实线+箭头, 箭头指向被使用的类。

聚合关系:是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。关联关系的两个类处于同一层次上,而聚合关系两个类处于不同的层次,一个是整体,一个是部分。

表示方法:空心菱形+实线+箭头,箭头指向部分。

合成关系:是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系不能共享。

表示方法:实心菱形+实线+箭头,

依赖关系:是类与类之间的连接,表示一个类依赖于另一个类的定义。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。

表示方法:虚线+箭头 箭头指向被依赖的一方,也就是指向局部变量。

时间: 2024-11-25 18:19:04

类关系的相关文章

使用maintainJ快速了解项目类关系

MaintainJ能够在很短的时间内进行debug(找出缺陷).能够方便的了解项目已有特性从而容易进行功能增强(enhance).能够展现调用耗时从而能够快速定位瓶颈调整系统提升系统性能.此外利用它还能快速的建立与实际调用一致的UML 类关系视图和调用时序视图,这也是形成文档的关键资料.而这些工作的快速完成均是由于MaintainJ是一款基于AOP实现的能够在操作具体用例(Use case)过程中时时形成调用关系.类关系以及传递的参数和响应时间等等的原因.MaintainJ能够对java web

【JAVA 动态创建风水罗盘 超精华Swing项目方案-类关系图 - 文章02】

动态创建风水罗盘系统 UI Swing UI关系类图 动态创建风水罗盘系统 罗经层绘制工厂 动态创建风水罗盘系统 罗经具体实现绘制工厂实现类关系 动态创建风水罗盘系统 定制盘面绘制数据模型 动态创建风水罗盘系统 装饰器模式绘制整体盘面关系 未完继续-.

核心动画类关系图

核心动画是基于CALayer的操作,在后台操作不阻塞主线程 以下是核心动画的类关系图

Android相关类关系

Activity Window.WindowManager View. interface----ViewManager LayoutInflater Components Activity.Services.ContentProvider.Broadcast Receiver Activity-------Activity主要负责生命周期的管理,建立窗口. Window---------------------->getWindow | View.ViewGroup | LayoutInfla

UML类关系

一.依赖关系(Dependence) 依赖关系(Dependence):假设A类的变化引起了B类的变化,则说名B类依赖于A类. 依赖关系(Dependency) 是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系.大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数. 在UML中,依赖关系用带箭头的虚线表示,由依赖的一方指向被依赖的一方. 1 public class Driver 2 { 3 public void d

类关系设计模式小结

前面简单的学习了策略模式.观察者模式.装饰者模式,三种模式主要用于处理类之间的关系,三种模式循序渐进,后面的模式可以说是对前一模式的完善 策略    模式:一对一的类关系,模式中存在一个核心和多个算法,但是核心只能从这多个算法中选择一个进行使用,也算是一个缺点,从而引入观察者模式 观察者模式:一对多的类关系,模式中存在一个主题和多个观察者,此时主题可以持有多个观察个,并使用其方法.但也可以发现,观察者的复用性较低,基本上绑定了主题. 装饰者模式:多对多的关系,模式中可以存在多个装饰者和多个组件,

设计模式基础:类及类关系的UML表示

设计模式基础:类及类关系的UML表示 2009-10-26 17:00 by 宗哥, 1891 阅读, 1 评论, 收藏, 编辑 UML中,类关系分为这几种,泛化(generalization), 实现(realization),依赖(Dependency),关联(associate),聚合(aggregation),(composition)下面分别是UML实现及C#中的代码表现. 泛化(generalization) 泛化也称作特化(specialization),用来表示一个更一般和更特殊

白话设计——从类关系说起

温故知新,最近更多的是研究和开发各种类库,对设计的是有些感触.以前在大学的时候,虽然知道,但是总归是欠缺经验的,现在,我尝试用最通俗易懂的方式说出来. 所谓的设计不正是采用恰当的方式组织雷类关系么?因此谈设计我认为首先要从类之间的关系开始说起. 在java开发中,有很多时候我们是在不断的处理类与类之间关系,其中这六种关系是:依赖.关联.聚合.组合.继承.实现,他们的耦合度依次增强,其在UML的表示如下: 下面我们分别对这几种关系进行说明. 依赖 在实际生活中我们做任何一件事情几乎都需要借助其他物

java常见类关系(UML建模)

类与类之间存在以下的关系: (1)泛化 (2)关联 (3)依赖 (4)聚合关系 泛化: 表示类与类之间的继承关系,接口与接口之间的继承关系,或者就是接口与类的实现关系 父类 父类实例 = new 子类() 依赖: 对于两个相对独立的对象,当一个对象负责构造另一个对象的实例或者依赖另一个对象的服务时,这两个对象之间的主要体现是依赖关系 依赖关系表现在局部变量,方法的参数和静态方法调用的时候 关联: 对于两个相对独立的对象.当一个对象的实例与另一个对象的特定实例存在固定的对应关系时.这两个对象称为关

类关系:继承和组合

1.继承 2.组合 3.继承和组合 在jichengandzuhe.py中 class People: def __init__(self, name, age, sex, year, mon, day): self.name = name self.age = age self.sex = sex self.birth = Date(year, mon, day) def walking(self): print('%s is walking ' % self.name) def talkin