









不要一开始就陷入到细节的泥潭当中。







聚合:指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。需求描述中“包含”、“组成”、“分为…部分”等词常意味着聚合关系。
组合:也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。
聚合和组合的区别在于:聚合关系是“has-a”关系,组合关系是“contains-a”关系;聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表部分事物的对象。
我们用浅显的例子来说明聚合和组合的区别。“国破家亡”,国灭了,家自然也没有了,“国”和“家”显然也是组合关系。而相反的,计算机和它的外设之间就是聚合关系,因为它们之间的关系相对松散,计算机没了,外设还可以独立存在,还可以接在别的计算机上。在聚合关系中,部分可以独立于聚合而存在,部分的所有权也可以由几个聚合来共享,比如打印机就可以在办公室内被广大同事共用





一般化常称为“泛化”

分享到:
相关推荐
1. **UML_OOAD_Lesson_Day1**:基础理论介绍,涵盖UML的基本元素和术语,以及OOAD的基本概念。 2. **UML_OOAD_Lesson_Day2**:用例图和类图的创建,讲解如何描述系统的需求和类的结构。 3. **UML_OOAD_Lesson_Day3...
UML(Unified Modeling Language)是一种标准化的统一建模语言,用于软件开发中的可视化建模,特别是在面向对象分析与设计(OOAD)中扮演着核心角色。UML通过一系列图形表示法,帮助开发者清晰地表达软件设计的各个...
《图书馆管理系统——面向对象分析与设计(OOAD)详解》 图书馆管理系统是一个典型的业务信息系统,其设计和实现涉及到了多种IT技术,特别是面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)...
### OOAD_WITH_UML_Question_Bank 知识点解析 #### 一、知识点概述 在《OOAD_WITH_UML_Question_Bank》这一题目中,主要涉及的是面向对象分析与设计(OOAD)以及统一建模语言(UML)的基础概念与应用。通过一系列...
**UML建模详解** UML(统一建模语言)是一种标准的图形表示法,用于软件开发中的面向对象分析和设计。它为软件工程师提供了一种可视化工具,以清晰地表达系统的需求、结构和行为。在本文中,我们将深入探讨UML的...
### UML 2.0 超结构规范详解 #### 一、UML概述与重要性 统一建模语言(Unified Modeling Language, UML)是一种标准化的图形化语言,用于软件系统的可视化、规格说明、构造以及文档化。自1997年发布以来,UML已经...
2. **UML建模**:UML(统一建模语言)是OOAD的重要工具,学生可能会学习如何绘制用例图、类图、序列图、状态图等,来可视化和表达系统的需求和设计。 3. **设计模式**:设计模式是解决常见软件设计问题的标准解决...
本实验以“西北农林科技大学”的网上购物商城为例,通过一系列的UML(统一建模语言)图表,全面展示了如何运用OOAD进行系统设计。以下是针对这个实验的具体分析和知识点详解。 首先,用况图(Use Case Diagram)是...
**对象导向分析与设计(Object-...通过学习 OOAD 和 UML,开发者能够以结构化的方式描述和设计系统,提高软件开发的效率和质量。同时,理解和应用这些知识,可以帮助团队更好地理解和协调各自的工作,降低项目风险。
#### 一、UML与OOAD概览 **统一建模语言(UML)**是一种用于软件工程的标准化建模语言,广泛应用于系统架构、软件开发和业务流程等领域。UML2.0版本在原有基础上进行了大量改进和完善,更好地支持了面向对象的分析...
### UML复习提纲知识点详解 #### UML复习提纲概览 UML(Unified Modeling Language,统一建模语言)是一种用于软件工程的图形化语言,旨在帮助软件工程师设计、构造和文档化软件系统。本复习提纲由教师精心整理,...
### UML与模式应用知识点详解 #### UML与模式应用概览 《UML与模式应用》这本书由Craig Larman撰写,是面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)以及统一过程(Unified Process,简称...
面向对象分析与设计(Object-Oriented Analysis and Design, OOAD)是一种软件开发方法论,它强调使用对象的概念来模拟真实世界中的实体及其交互方式。这种方法可以帮助开发者更好地理解和组织复杂的系统结构,从而...
《面向对象分析与设计(OOAD)项目实践详解》 在软件开发领域,面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是至关重要的一个环节,它为构建复杂系统的蓝图提供了规范化的流程。在这个名...
Java面试题覆盖了广泛的知识领域,包括基础语法、异常处理、集合框架、线程、输入/输出(IO)与网络编程、面向对象设计(OOAD)、统一建模语言(UML)、XML处理、SQL操作、JDBC与Hibernate、Web开发、企业级Java应用...
#### 三、UML建模技术详解 - **面向对象分析**:面向对象分析是一种重要的软件开发方法论,PowerDesigner通过UML图来支持这一过程。 - **用例图**:用例图用于描述系统与外部参与者之间的交互。它可以帮助识别系统...
### JAVA毕业生就业面试题知识点详解 #### 一、CoreJava:1—95题1—24页 ##### 基础及语法:1—61题1—13页 1. **面向对象的特征有哪些方面?** - **抽象**:抽象是指将对象的属性和行为进行提取,关注其本质...