设计模式:uml详解2

本文详细介绍了UML中的设计模式,包括注释、类、接口、依赖、关联、继承、实现、聚合和组合关系。通过具体的表示方式和关系特性,帮助理解这些概念在面向对象设计中的应用。
1、注释(comment)

注释就是对类图的补充说明,可以附加在任何元素上,用 右上角有折角的矩形来表示,其内放置说明文字!,通过 虚线连接被注释的元素。

2、类(Class)

在面向对象(OO) 编程中,类是对现实世界中一组具有相 同特征的物体的抽象。 在UML类图中,类使用包含类名、属性(field) 和方法 (method) 且带有分割线的矩形来表示。

类的方法的完整表示方式:
         可见性 名称(参数列表) [ : 返回类型]

3、接口(Interface)

接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。
在UML中,接口有两种表示方式:

  1. 普通接口表示法(飞翔);
  2. 棒棒糖表示法(讲人话),使用一个带有名称的小圆圈来表示 ,在旁边写上相应接口名称,没有具体接口方法。
接口名称通常以大写字母I(interface)开头

4、依赖关系
  1. 如果A类用到了B类 ,则A依赖于B。
  2. 用 虚线箭头 表示
public class PersonDao{}
public class IDCard{}
public class Person{} 
public class Department{} 
public class PersonServiceBean { 
	private PersonDao personDao; 
	public IDCard getIDCard(Integer personid){}
	public void save(Person person){} 
	public void modify(){
		Department department = new Departm	ent();  } } 
5、关联关系
  1. 关联关系实际上就是类与类之间的联系,是依赖关系的特例。
  2. 用 实线箭头或实线 表示
  3. 关联具有导航性:即双向关系或单向关系
  4. 关系具有多重性:
    • “1”(表示有且仅有一个),
    • “0…”(表示0个或者多个),
    • “0,1”(表示0个或者1个),
    • “n…m”(表示n到 m个都可以),
    • “m…*”(表示至少m 个)。
  • 单向一对一关系
//一个人一个身份证号 一对一单向的 一对一
public class Person { private IDCard card;} 
public class IDCard{}


  • 双向一对一关系
//一个人对应一个身份证号 一对一 
//一个身份证号也对应一个人 
public class Person { private IDCard card;} 
public class IDCard{ private Person person; }


6、继承关系
  1. 继承关系也称泛化关系,是依赖关系的特例。 A类继承了B 类也相当于A类用到了B类。
  2. 用 空心三角形+实线 表示
public abstract class DaoSupport{ 
	public void save(Object entity){ } 
	public void delete(Object id){ } 
} 
public class PersonServiceBean extends DaoSupport{} 
7、实现关系

1.实现关系实际上就是A类实现B接口,是依赖关系的特例,依赖关系更强。
2.用 空心三角形+虚线 表示

public interface PersonService {  
	public void delete(Interger id); 
} 
public class PersonServiceBean implements PersonService { 
	public void delete(Intergerid){}
}
8、聚合关系
  1. 聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例
  2. 带空心菱形的实线,菱形指向整体来表示
9、组合关系
  1. 是整体与部分的关系,但是整体与部分不可以分开
  2. 用 实心菱形+实线 表示
  • 组合和聚合的区别(根据类的定义来区别)
public class Person{ 
	private IDCard card; //聚合 
	private Head head = new Head(); //组合 
}
public class IDCard{}
public class Head{}


public class Person{
 	private IDCard card = new IDCard(); //组合 
 	private Head head = new Head(); //组合 
}
public class IDCard{} 
public class Head{}
各种关系之间的联系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值