1.关联关系
当一个类的对象作为另一个类的对象的成员时,那么这两个类之间就有了关联关系.
C#代码如下:
///
/// 关联关系
///
public class 老公
{
private 老婆 老婆;
}
public class 老婆
{
}
uml图如下:
2.关联关系中的多重性
是指类A的一个实例对应类B的实例的个数
C#代码如下:
///
/// 关联关系中的多重性
///
public class 狗
{
private 腿[] 腿 = new 腿[4];
}
public class 腿
{
}
uml图如下:
3.关联关系中的方向性
在一个大公司里,公司的总裁只认识那些核心职员,不能认识所有的普通职员,而所有的职员都认识总裁.
C#代码如下
///
/// 关联关系中的方向性
///
public class 大公司总裁
{
private 核心职员 核心职员;
}
public class 核心职员
{
private 大公司总裁 大公司总裁;
}
public class 普通职员
{
private 大公司总裁 大公司总裁;
}
uml图如下:
4.聚合关系
是关联关系的特例,表示两个类的实例之间有整体与部分的关系,处于空心一端是整体,另一端为部分.聚合关系并不隐含整体消失而导致部分也消失.
如公司倒闭了,但做为职员的人还在,不会随之灭亡.
C#代码如下:
///
/// 聚合关系
///
public class 公司
{
private 职员 职员;
}
public class 职员
{
}
uml图如下:
5.组合关系
是聚合关系的一个特例,在聚合关系含义的基础上,增加了整体与部分之间"皮之不存,毛将焉附"的语义.实心的菱形表示整体,另一端表示部分.
C#代码如下:
///
/// 组合关系
///
public class 树
{
private 树叶 树叶;
}
public class 树叶
{
}
uml图如下:
6.依赖关系
相对于关联关系, 依赖关系是一种比较弱的关系,被"依赖者"的变化有可能影响"依赖者".
C#代码如下:
///
/// 依赖关系
///
public class 人类
{
private 粮食 粮食;
}
public class 粮食
{
}
uml图如下:
7.继承关系
类A是类B的一种,如下列代码小学生或大学生都是学生,在C#中用关键字abstract声明.
C#代码如下:
///
/// 继承关系
///
public abstract class 学生
{
public abstract void 学习();
}
public class 小学生 : 学生
{
public override void 学习()
{
}
}
public class 大学生 : 学生
{
public override void 学习()
{
}
}
uml图如下:
8.实现关系
一方作为要求提出来,另一方具体完成这个要求.在C#中用关键字interface声明.如下列代码,去公园散步我可以步行或乘车去,都可以实现.
C#代码如下
///
/// 实现关系
///
public interface 去公园
{
void 散步();
}
public class 步行 : 去公园
{
public void 散步()
{
}
}
public class 乘车 : 去公园
{
public void 散步()
{
}
}
uml图如下:
作者:LiLin 网站:http://www.lilin626.cn/
转载:http://www.lilin626.cn/uml/2.html
声明:版权所有,转载时必须以链接形式注明作者和原始出处及本声明。