一、简介
二、类的构成
三、类之间的关系(Relationship)
1、单向关联
2、双向关联
3、自身关联
4、多维关联(N-ary Association)
5、泛化(Generalization)
6、依赖(Dependency)
7、聚合(Aggregation)
8、组合(Composite)
四、总结
一、简介
类是对象的集合,展示了对象的结构以及与系统的交互行为。类主要有属性(Attribute)和方法(Method)构成,属性代表对象的状态,如果属性被保存到数据库,此称之为“持久化”;方法代表对象的操作行为,类具有继承关系,可以继承于父类,也可以与其他的Class进行交互。
类图展示了系统的逻辑结构,类和接口的关系。
二、类的构成
类主要有属性和方法构成。比如商品属性有:名称、价格、高度、宽度等;商品的方法有:计算税率,获得商品的评价等等。如下图
三、类之间的关系(Relationship)
关联(Association)
两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系。
1、单向关联
A1->A2: 表示A1认识A2,A1知道A2的存在,A1可以调用A2中的方法和属性
场景:订单和商品,订单中包括商品,但是商品并不了解订单的存在。
类与类之间的单向关联图:
C#代码:
Public class Order
{
Public List<Product> order;
Public void AddOrder(Product product )
{
order.Add(product);
}
}
Public Class Product
{
}
代码表现为:Order(A1)中有Product(A2)的变量或者引用
2、双向关联
B1-B2: 表示B1认识B2,B1知道B2的存在,B1可以调用B2中的方法和属性;同样B2也知道B1的存在,B2也可以调用B1的方法和属性。
场景:订单和客户,订单属于客户,客户拥有一些特定的订单
类与类之间的双向关联图
C#代码
Public class User
{
Public List<Order> GetOrder()
{
} return new List<Order>();
}
Public Class Order
{
Public User GetUserByOrderID(string OrderId )
{
Return new User();
}
}
3、自身关联
同一个类对象之间的关联
类与类之间自身关联图
4、多维关联(N-ary Association)
多个对象之间存在关联
场景:公司雇用员工,同时公司需要支付工资给员工
类与类之间的多维关联图:
5、泛化(Generalization)
类与类的继承关系,类与接口的实现关系。
场景:父与子、动物与人、植物与树、系统使用者与B2C会员和B2E会员的关系
类与类之间的泛化图:
系统的使用者包括:B2C会员、B2B会员和B2E会员。
接口的实现,动物都有吃的行为,而人是动物的一个具体实例,实现具体Eat的动作
6、依赖(Dependency)
类A要完成某个功能必须引用类B,则A与B存在依赖关系,依赖关系是弱的关联关系。C#不建议双相依赖,也就是相互引用
场景:本来人与电脑没有关系的,但由于偶然的机会,人需要用电脑写程序,这时候人就依赖于电脑。
类与类的依赖关系图
在程序中一般为 using 引用。
7、聚合(Aggregation)
当对象A被加入到对象B中,成为对象B的组成部分时,对象B和对象A之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。
场景:商品和他的规格、样式就是聚合关系。
类与类的聚合关系图
8、组合(Composite)
对象A包含对象B,对象B离开对象A没有实际意义。是一种更强的关联关系。人包含手,手离开人的躯体就失去了它应有的作用。
场景: Window窗体由滑动条slider、头部Header 和工作区Panel组合而成。
类与类的组合关系图
四、总结
本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。
其他链接:
需求阶段如何书写Use Case
设计阶段如何画用例视图(Use-Case View)
表单元素:40个CSS/JS风格和功能技术处理
推荐Jquery 40个漂亮的导航菜单设计
Nunit框架在VS2005环境下单步调试
版权
作者:灵动生活
出处:http://www.cnblogs.com/ywqu
如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章,
你也可以加我的新浪微博,以便实时了解我的动态:http://weibo.com/ywqu
WOWO英语(英语培训学校):http://www.wowomandarin.cn 上海电子商务解决方案:http://www.hello36.com
上海闪酷系列解决方案:
电子商务解决方案 移动电商APP软件 培训学校管理系统 购物分享社区系统 移动开发解决方案 在线问卷调查系统
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
相关推荐
C# and UML class diagram,这是有关C#和UML class diagram的一个详细讲解和比较应用
UML class diagram
UML Class Diagram Tutorial and tutorial for dia software
UML簡介_Class Diagram 学习ERD的
一、简介类是对象的集合,展示了对象的结构以及与系统的交互行为。...如下图三、类之间的关系(Relationship)关联(Association)两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这
UML知识之二:类图的设计
1、需求阶段如何书写Use Case 2.设计阶段如何画用例图(Use-Case Diagram) 3、类与类之间的关系图(Class Diagram,UML图) .......... 8、UML建模之数据建模(Data Model Diagram)
UML小结,UML图,UML例子,类图/Class diagram 显示系统中的类和包,提供系统构件及其相互关系。静态结构建模;用例图/Use-case diagram 用例图从用户的角度描述系统功能的使用者和主要的系统操作流程。显示用例与参与者...
Robert C. Martin写的介绍UML class diagram的专栏文章,短小精悍
UML use case diagram, class diagram, package diagram, object diagram, composite structure diagram, interaction diagram, sequence diagram, communication diagram, interaction overview diagram, activity...
UML类图(Class diagram)是统一建模语言(UML)的一种图形表示,用于显示系统的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系。 在类图中,每个类由一个包含类名、属性和方法的矩形表示,...
UML TUTORIAL UML CLASS DIAGRAM
类图(ClassDiagram)属于结构图,常被用于描述一个系统的静态结构。讲解每一种模式时,都会有一个重要的部分,用统一建模语言(Unified Modeling Language,UML)给出的类图。UML是一种广泛接受的通过画图的方式描述...
《UML建模-面向对象设计》系列文章描述了常见的一些UML图,主要包括了用例图(Use Case Diagram)、类图(Class Diagram)、活动图(Activity Diagram)、时序图(Sequence Diagram)、状态图(Statechart Machine ...
利用eclipse自动生成UML class diagram的方法 1.在eclipse中自动下载GEF ① 工具栏→帮助→安装新软件 ②输入下载地址http://download.eclipse.org/tools/gef/updates/releases/并勾选GEF Common 如果eclipse右下...
powerdesigner 面向对象分析,用例图,序列图,活动图……
2.2 UML 2 Class Diagram 5 2.2.1 Class Diagrams 5 2.3 UML 2 Object Diagrams 11 2.3.1 Object Diagrams 11 2.4 UML 2 Composite Structure Diagram 13 2.4.1 Composite Diagrams 13 2.5 UML 2 Component Diagram ...
UML类图大全