积跬步,聚小流------关于UML类图
UML的存在
类图是使用频率比較高的UML图,它用于描写叙述系统中所含的类以及它们之间的相互关系,帮助人们简化对系统的理解,也是系统分析和设计阶段的重要产物,也是系统编码和測试的重要类型根据。
UML的表示方法
它的表示方法也比較简单,分成三层,第一层是类名。第二层是属性,第三层是方法。
而 属性和方法中用到的“+”表示public,“-”表示private,“#”表示protected。以及属性的写法:权限修饰符、属性名(方法名),然后是数据类型(或返回值)。这些都是基本的语法,都比較明显也比較简单。
当然还有接口和抽象类的表示方法:
用来描写叙述接口;
用来描写叙述抽象方法。
UML描写叙述类图之间的关系
类图之间的关系有四种:泛化关系、实现关系、依赖关系、关联关系,而关联关系又分为普通关联关系、聚合关系和合成关系。而其实这些关系我们easy理解,可很多其它时候我们要注意怎样转化成java代码:
泛化关系
实现 关系
依赖关系
整体上说,通常能够表现为:
public class Person{
public void count(Computer computer){
}
}
②:还能够将被指向的类。在指向它的类中。作为一个方法中的局部变量;
public class Person{
public void count(){
Computer computer=new Computer();
}
}
③:再有一种方式就是被指向的类中含有静态方法。而指向它的类调用它的静态方法;
public class Computer(){
public static void test(){
}
}
public class Person{
Computer.test();
}
关联关系:
普通关联关系
public class Customer{
private Address address。
}
而对应的还有自关联和双向关联,而这些也都是将对应的类做成成员变量就可以。自关联将自己,双向关联互相做成。
聚合关系
public class Car{
private Engine engine;
public Car(Engine engine){
}
public void setEngine(Engine engine){
}
}
它不仅将被指向对象作为了成员变量。还将成员对象作为构造方法以及set方法或其它业务方法的參数。
合成关系
public class Head{
private Mouth mouth;
public Head(){
mouth=new Mouth();
}
}
它是在总体的构造方法中直接实例化成员。
积跬步,聚小流------关于UML类图的更多相关文章
- 四步轻松实现用Visio画UML类图
本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解. 用Visio画UML类图 对于画类图的工 ...
- 23种经典设计模式UML类图汇总
在这里23种经典设计模式UML类图汇总 创建型模式 1.FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基 ...
- UML:类图关系总结
UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Reali ...
- 设计模式学习笔记(详细) - 七大原则、UML类图、23种设计模式
目录 设计模式七大原则 UML类图 设计模式分类 单例模式 工厂设计模式 简单工厂模式 工厂方法模式(使用抽象类,多个is-a) 抽象工厂模式(使用接口,多个like-a) 原型模式 建造者模式 适配 ...
- UML类图的6大关系
<小酌重构系列>已经完成了大约1/3了,在这些文章中,我使用了一些简单的类图来描述重构策略.在之后的文章中,我可能会借助稍微复杂一些的UML类图来介绍.但是在此之前,我觉得有必要先介绍一下 ...
- 初识UML类图--类之间关系
前言 最近有打算学习一下设计模式,所以就去看了园子里面左潇龙大哥的设计模式文章,看完之后只有一个感觉,我啥时候也能写出来这么牛逼的文章啊,但是我这语文老师死的早的人还是算了,但是设计模式还是要学的,这 ...
- 设计模式之UML类图的常见关系
设计模式之UML类图的常见关系 本文来自转载 烧点饭博客 本篇会讲解在UML类图中,常见几种关系: 泛化(Generalization),依赖(Dependency),关联(Association), ...
- 深入浅出UML类图
原作者:http://www.uml.org.cn/oobject/201211231.asp 在UML 2.0的13种图形中,类图是使用频率最高的UML图之一.Martin Fowler在其著作&l ...
- UML类图相关实践
最近看了下设计模式,其中无可避免会设计很多类图,UML类图对于学习设计模式很重要,关于设计模式,我也会在这里写上一写,这一篇关于UML类图的就先当个铺垫. 1.先上一个简单的类图来简单说明下: 1). ...
随机推荐
- 6)图[2]Prim算法[最小生成树]
Prim 算法 求解方法: 首先将所指定的起点作为已选顶点,然后反复在满足如下条件下的边中选择一条最小边,直到 所有顶点已成为已选顶点为止(选择n-1条边). #include "iostr ...
- Windows系统下远程Linux系统
Windows系统下远程Linux系统 工具:Xmanager 启动界面: 配置保存路径(win7): C:\Users\Administrator\AppData\Roaming\NetSarang ...
- switch使用方法之一周食谱例
/* Name:switch使用方法之一周食谱例 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月17日 03:52:53 Description: */ ...
- 11-3URLTestDemo实例操作完成URL单元测试
11-3URLTestDemo 1.File -> New -> Project 在左边模板中选择Visual C#里的Web,对应到的项目类型选择ASP.NET MVC3 Web App ...
- Angularjs基础教程
Angularjs-基础教程 一些angualr的基础概念,适合入门. 1.下载 推荐 bower 或 npm 安装. bower install angular bower install angu ...
- openStack deep dive,Retake Policy
Method of Payment: visa MasterCard American Express Discover
- .NET + Jcrop 实现在线裁图功能
最近有这样一个需求,因为一个门户网站首页展示图片很长但很矮,自己截图怕有不到位,所以利用JQUERY 的 Jcrop组件做了一个在线裁图的功能. 初始化 $('#oldpicImg').Jcrop({ ...
- Objective-C分类 (category)和扩展(Extension)
1.分类(category) 使用Object-C中的分类,是一种编译时的手段,允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以 ...
- js颜色转换
很久之前面试遇到过一个题.写个颜色转换的方法. function RGB2Color(r,g,b) { return '#' + byte2Hex(r) + byte2Hex(g) + byte2He ...
- Codeigniter-实现权限认证
两种方法 钩子函数 集成核心Controller 方法一,钩子函数: 一直没找到CI的权限认证扩展,以前好像找到过一个老外的扩展,不过不怎么好用,现在记不清了,后来仿着jsp firter的方式用CI ...