`
zy19982004
  • 浏览: 661933 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:251953
社区版块
存档分类
最新评论

UML学习一:UML关系

    博客分类:
  • UML
 
阅读更多

一.前言

      一直以来,在画UML关系图的时候,都不是那么顺利,主要是其中的几种关联关系并不好理解。今天学习并总结下。

 

二.UML关系:三大类,六小类

  1. 泛化(Generalization):包含继承(Extends)和实现(Implement)。
  2. 依赖(Dependency):单独的一类。
  3. 关联(Association):包含关联(Association),聚合(Aggregation),组合(Compositon)。

三.继承(Extends) 

  1.  类继承类,接口继承接口。

四.实现(Implemet) 

  1. 类实现接口。

五.依赖(Dependency)

  1. 类A依赖类B的定义,B的变化引起A的改动。
  2. 这种关系是短暂的,偶然的。
  3. 如果A依赖B,则B体现为A的方法的参数,局部变量,静态方法的调用。
public class ClassA {
	//方法的参数
	public void function1(ClassB classB){
		System.out.println(classB.field);
	}
	
	//局部变量
	public void function1(){
		ClassB classB = new ClassB();
		classB.operator1();
	}
	
	//静态方法的调用
	public void function2(){
		ClassB.operator2();
	}
}

 

六.关联(Association) 

  1. 类A知道类B的属性和方法。
  2. 这种关系不是短暂的,一般是长期性的;而且双方一般是平等的。
  3. 如果A依赖B,则B体现为A的成员变量。
  4. 双向关联。

七.聚合(Aggregation) 

  1.  关联关系的特例,是一种强的关联关系。
  2. 双方是整体体和部分的关系;整体和部分可以分割,各有各的生命周期。
  3. 如果B聚合于A,则B体现为A的成员变量。这个和关联关系是一样的,只能在语义上区分。
public class Computer {
	public Cpu cpu;
	
	public Computer(){
		cpu = new Cpu(); //Computer和Cpu的周期可以相同
	}
	
	public void function(){
		cpu = new Cpu(); //Computer和Cpu的周期可以不相同
	}
}

 

八.组合(Compositon) 

  1.  关联关系的特例,是一种更强的关联关系。
  2. 双方是整体体和部分的关系;整体和部分不可以分割,相同的生命周期。
  3. 如果B组合于A,则B体现为A的成员变量。这个和关联关系是一样的,可以在语义上区分,也可以从初始化时刻区分。

public class People {
	public Brain brain;
	
	public Computer(){
		brain = new Brain(); //People和Brain的周期必须相同
	}
	
}

 

 

九.总结

 

 

1
0
分享到:
评论

相关推荐

    UML and C++ : A Partical Guide To Object-Oriented Development

    通过学习本书,开发者能够提升使用UML进行需求分析、设计和沟通的能力,同时增强C++编程技巧,从而在实际项目中更有效地进行面向对象开发。无论是初学者还是经验丰富的专业人员,都能从中受益,提升软件工程的效率和...

    UML精粹:标准对象建模语言简明指南(第3版)

    本书“UML精粹:标准对象建模语言简明指南(第3版)”是UML学习者和实践者的宝贵资源。英文原版的CHM格式,使得读者能够获得原汁原味的专业知识,同时,CHM是一种编译后的HTML帮助文档,便于快速查阅和搜索。 UML的...

    UML基础教程:用例图、类图、序列图.ppt

    类图是 UML 模型图中最重要的一种图形,用于描述系统的静态结构和关系。序列图是 UML 模型图中描述系统行为的一种图形,用于描述系统在一定时间段内的行为。 UML 模型图的应用场景非常广泛,包括软件设计、系统分析...

    UML基础教程:用例图、类图、序列图

    通过学习这本教程,读者可以了解 UML 的基础知识,并能读懂 UML 模型图。 本教程共包含九章,分别介绍了用例图、类图、序列图、顺序图、状态图、活动图、构件图和部署图等 UML 图的基础知识。每章都包括图的概要、...

    UML精粹:标准对象建模语言简明指南.pdf

    《UML精粹:标准对象建模语言简明指南》是Martin Fowler的经典之作,自1997年初版以来,一直是UML学习者和实践者的首选参考书籍。这本书旨在为读者提供一个清晰、简洁的UML(Unified Modeling Language)理解和应用...

    uml学习规范 UML_standard

    《UML学习规范:深入理解与实践》 UML(Unified Modeling Language),即统一建模语言,是软件开发中一种广泛使用的建模工具,尤其在面向对象编程领域中发挥着重要作用。UML提供了图形化的表示方式,使得软件设计...

    UML综合经典练习题集.pdf

    3. UML关系:UML关系是指UML中的类之间的关系,包括泛化、继承、关联、聚合、组合等多种关系类型。 4. UML类图:UML类图是UML中的一个重要的图表类型,用于描述类之间的关系和继承关系。 5. UML用例图:UML用例图...

    适合初学者的uml学习ppt

    学习UML时,可以通过练习来加深理解,例如: 1. 根据中国公民、身份证和银行卡之间的关系,绘制类图。 2. 分析几何图形(线、圆、方、椭圆、多边形)的抽象关系,用类图表示。 3. 标识出几何图形类中的多态方法,如...

    UML学习手册,学习心得

    **UML学习手册** UML(Unified Modeling Language)是一种标准化的通用建模语言,用于软件工程中的系统分析和设计。本手册围绕UML的核心概念、主要图表类型以及实际应用进行详细阐述,旨在帮助读者深入理解和掌握这...

    uml学习课件PPT

    **UML学习课件PPT概述** UML(Unified Modeling Language),统一建模语言,是软件工程领域一种广泛使用的建模工具,它提供了一种图形化的语言来描述、设计和文档化软件系统的结构和行为。这个"uml学习课件PPT"提供...

    UML学习资料课件学习

    **UML学习资料课件详解** UML,全称为Unified Modeling Language,中文译为统一建模语言,是一种广泛应用于软件工程领域,旨在提高软件开发效率和团队协作能力的建模语言。UML的设计目的是为了方便在软件开发过程中...

    UML精粹:标准对象建模语言简明指南

    学习UML不仅需要理解这些基本元素,还需要学会如何有效地应用它们。这包括选择正确的图表类型来表达特定问题,以及如何通过模型来驱动开发,即Model-Driven Development(MDD)。通过UML,团队可以更清晰地沟通设计...

    UML学习资料(非常全)

    **UML学习资料详解** UML,全称统一建模语言(Unified Modeling Language),是软件工程领域中一种广泛使用的建模工具,它为系统分析、设计和开发提供了一种标准化的语言,帮助团队清晰、准确地表达和理解软件设计...

    UML面向对象软件工程深入学习(包含JAVA和C 程序)

    在深入学习UML面向对象软件工程的过程中,我们需要理解以下几个核心知识点: 1. **类与对象**:在面向对象编程中,类是创建对象的蓝图,它定义了对象的属性(数据成员)和行为(成员函数)。对象则是类的实例,具有...

    武汉理工大学UML2012年度考试试卷及其答案

    继承是类之间的一种关系,泛化是类之间的一种关系,关联是对象之间的一种关系,聚合是对象之间的一种关系,组合是对象之间的一种关系。 UML 的应用场景非常广泛,包括软件设计、系统分析、项目管理、测试等。UML 也...

    UML Distilled: A Brief Guide to the Standard Object Modeling Language中文扫描版

    《UML精粹:标准对象建模语言简明指南》是一本深受欢迎的UML学习资料,由Martin Fowler等作者撰写。UML(统一建模语言)是软件工程领域中用于系统建模的一种标准化语言,它提供了一种图形化的方式来描述、可视化和...

    UML中的包含关系和扩展关系

    在UML中,通常用一个实心的菱形箭头来表示包含关系,箭头指向整体。这种关系是所有者与部分之间的关系,部分的存在依赖于整体,当整体被销毁时,其部分也会随之消失。例如,汽车和发动机的关系,发动机是汽车的一个...

    [UML 设计范例:CS400 - C Senior Design ]

    此文档不仅适合UML初学者作为学习材料,也适用于那些希望深入了解如何将UML应用于实际项目中的专业人士。 #### 项目背景 本项目的目标是为一家假设的咨询公司开发一套资源管理系统。该系统将帮助公司管理层更有效...

Global site tag (gtag.js) - Google Analytics