UML类图简介

类图

类图可以展示类的结构以及类与类之间关系

一、类结构,包括类名、属性、方法。+、-、#表示类的可见范围,分表为public、private、protected。

1、属性的表达方式为 【可见性 属性名 : 字段类型】

2、方法的表达方式为 【可见性 方法名(参数列表):返回类型】

二、类与类之间的关系

类与类之间的关系可以分为多种

1、关联关系

关联关系又细分为单向,双向和自关联

a、单向

代码示例


public class Customer{
    private Address address; //定义为成员变量
    ……
}

public class Address{
    ……
}

b、双向

代码示例

public class Customer {
    private Product[] products;
    ……
}

public class Product {
    private Customer customer;
    ……
}

c、自关联,类似于数据类型中的树形结构

代码示例

public class Node {
    private Node subNode;
    ……
}

2、聚合关系,表示整体和部分的关系,但是部分可以脱离整体而存在

代码示例,成员对象通常作为构造方法、Setter方法或业务方法的参数注入到整体对象中

public class Car {
	private Engine engine;

    //构造注入
	public Car(Engine engine) {
		this.engine = engine;
	}
    
    //设值注入
    public void setEngine(Engine engine) {
        this.engine = engine;
    }
    ……
}

public class Engine {
	……
} 

 

3、组合关系,也表示整体和部分的关系,但是部分不可以脱离整体而存在,当整体消亡时,部分也随之消亡

代码示例,通常在整体类的构造方法中直接实例化成员类

public class Head {
	private Mouth mouth;

	public Head() {
		mouth = new Mouth(); //实例化成员类
	}
    ……
}

public class Mouth {
	……
} 

4、依赖关系,大多数情况下,依赖关系体现在某个类的方法使用另一个类的对象作为参数

代码示例

public class Driver {
	public void drive(Car car) {
		car.move();
	}
    ……
}

public class Car {
	public void move() {
		......
	}
    ……
}  

5、继承关系,也就是extends

代码示例

//父类
public class Person {
    protected String name;
    protected int age;

    public void move() {
        ……
    }

    public void say() {
    ……
    }
}

//子类
public class Student extends Person {
    private String studentNo;

    public void study() {
        ……
    }
}

//子类
public class Teacher extends Person {
    private String teacherNo;

    public void teach() {
        ……
    }
}

6、实现关系,也就是implements

代码示例

public interface Vehicle {
    public void move();
}

public class Ship implements Vehicle {
    public void move() {
        ……
    }
}

public class Car implements Vehicle {
    public void move() {
        ……
    }
}

图片来自网络

文章参考

http://www.uml.org.cn/oobject/201211231.asp

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinqing5130

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值