加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

UML边看边记 之 类与类之间的关系(三)

发布时间:2020-12-14 02:13:28 所属栏目:百科 来源:网络整理
导读:上一篇介绍了下类与类之间的关联关系。关联关系的种类比较多,所以单独写了一篇。这篇文章主要介绍: 依赖关系 、 泛化关系 、 接口与实现类关系 。 1.依赖关系 依赖关系值一个类的实现依赖另一个类。如,Driver类的drive方法依赖于Car类中的move()方法。

上一篇介绍了下类与类之间的关联关系。关联关系的种类比较多,所以单独写了一篇。这篇文章主要介绍:依赖关系泛化关系接口与实现类关系

1.依赖关系

依赖关系值一个类的实现依赖另一个类。如,Driver类的drive方法依赖于Car类中的move()方法。
注意依赖关系与关联关系的区别:关联关系中一个类作为另一个类的属性存在,而依赖关系的属性中不存在另一个类。
依赖关系的UML图用带箭头的虚线表示

依赖关系的代码实现通常有一下三种:
(1)将一个类的对象作为另一个类方法的参数
(2)将一个类的对象作为另一个类方法的局部变量
(3)在一个类的中调用另一个类的静态方法

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

2.泛化关系

泛化关系又叫继承关系。用来描述父类和子类之间的继承关系。泛化关系在UML中用带空心三角形的实线表示。

代码实现:

//父类
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() {
    ……
    }
}

3.接口与实现类关系

在Java语言中使用interface来声明接口。接口通常没有属性,而且方法都是抽象方法,只有方法的声明,没有方法的实现。
实现关系(Realization)在UML中使用带空心三角形的虚线表示。

实现代码如下:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读