一、简介
类是对象的集合,展示了对象的结构以及与系统的交互行为。类主要有属性(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
{
}
5、泛化(Generalization)
类与类的继承关系,类与接口的实现关系。
场景:父与子、动物与人、植物与树、系统使用者与B2C会员和B2E会员的关系
类与类之间的泛化图:
系统的使用者包括:B2C会员、B2B会员和B2E会员
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组合而成。
类与类的组合关系图
四、总结
本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。
出处:http://www.cnblogs.com/ywqu
<script src="/ads/ads_250x250.js"></script>
代码表现为: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)
多个对象之间存在关联
场景:公司雇用员工,同时公司需要支付工资给员工
类与类之间的多维关联图:
相关推荐
java类的阐述,简单的讲述类与类之间的关系。
在Java中,了解类与类之间的关系。帮助初学者去理解
7.1 建立类和对象的模型 7.2 寻找系统中的类 7.3 确定类或对象之间关系 7.4 设计类的属性 7.5 设计类的职责 7.6 小结
C++ MSDN的类总图,显示了所有类 之间的关系 非常有用!~~
java面相对相类与类之间的关系,理论详细
能够很好的了解java中类与类之间的关系,如依赖,泛化,关联,聚合。以及它们之间的关系和区别。
桂林电子科技大学老师为了让我们搞懂C#类与类之间的调用,给我们的经典例子,里面用完整的源码,今天拿出来给大家分享。
类间关系有很多种,在大的类别上可以分为两种:纵向关系、横向关系。 纵向关系就是继承关系,它的概念非常明确,也成为OO的三个重要特征之一,这里不过多的讨论。
文档类,视图类等与框架之间的关系,加深对mfc的框架的理解
本教程特点: 1.更适合零基础学员: ·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅...
C++类之间的关系2课程实验及报告
C++类之间的关系1课程实验及报告
JAVA类之间的关系思维导图,便捷整理思路,泛化、实现、依赖、关联、组合、聚合……
阐述类之间的关系,类之间有六种关系,一一介绍
类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就简单给大家介绍一下。
io类之间继承关系的图片,自己在网上搜的,感觉不错就拿来分享了~~~
qt4 资料大全 qt4帮助文档 qt4开发指南 类之间的关系图
包含IO中的类的关系图和示例代码,初学者可以参考