UML类图

类class

类

  • 第一层:类的名称,若为抽象类用斜体表示
  • 第二层:类的特性,字段和属性
  • 第三层:类的操作,方法和行为

+:public
-:private
#:protected

接口

与类的主要区别是顶端有<<interface>>

矩形表示法

矩形表示法

//飞翔接口
interface IFly
{
    void Fly();
}
  • 第一行是接口名称
  • 第二行是接口方法

棒棒糖表示法

棒棒糖表示法

//讲话接口
interface ILanguage
{
    void Speak();
}

唐老鸭实现了“讲人话”的接口
为什么是“讲人话”?
因为鸭子本来也有语言,只不过只有唐老鸭是能讲人话的鸭子

类与类之间的关系

继承

  • 例:鸟类继承动物类,鸭继承鸟类,唐老鸭继承鸭类
  • 空心三角形+实线

在这里插入图片描述

//
//鸟继承动物类
class Bird:Animal
{
   
}

关联association

  • 当一个类“知道”另一个类时,可以用关联。
  • 例:企鹅和气候两个类,企鹅需要知道气候的变化,这两个类之间的关系可以用关联来表示
  • 实线箭头表示

关联

//在企鹅Penguin中,引用到气候Climate对象
class Penguin:Bird
{
	private Climate climate;

聚合Aggregation

  • 聚合表示一种弱的”拥有关系“,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。
  • 例:大雁和雁群两个类,大雁是群居动物,每只大雁属于一个雁群,一个雁群可以由多只大雁,满足聚合关系。

聚合

在雁群WideGooseAggregate类中,有大雁数组对象arrayWideGose
class WideGooseAggregate
{
	private WideGoose[] arragWideGoose;
}

合成Composition

  • 合成是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
  • 例:鸟和翅膀是合成关系
  • 用实心的菱形+实线箭头表示,连线两端有基数,一只鸟有两只翅膀,所以为1和2.如果一个类有无数个实例,则用n表示,关联关系,聚合关系也可以有基数

合成关系

在鸟Bird类中,初始化时,实例化翅膀Wing,他们之间同时生成
class Bird
{
	private Wing wing;
	public Bird()
	{
		wing=new Wing();
	}
}

依赖Dependency

动物几大特征,新陈代谢,繁殖,而动物要有生命力,需要氧气、水、食物。即,动物依赖于氧气和水。
用虚线箭头表示
依赖

abstract class Animal 
{
	public Metabolism(Oxygen oxygen,Water water)
	{
	}
}

类与接口

实现

空心三角形+虚线

实现

//大雁实现飞翔接口
class WideGoose:IFly
{
   
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值