快捷搜索:  汽车  科技

uml结构图讲解(概述耦合UML)

uml结构图讲解(概述耦合UML)​现在网上几种比较经典的反例,“几维鸟不是鸟”,“鲸鱼不是鱼” 等等我打个比方,如果按照惯性和字面意思,如果我们将几维鸟也继承鸟类

测试类 Test

public class Test { public static void main(String[] args) { Father father = new Son(); System.out.println(father.speaking().get(0)); } } 复制代码

uml结构图讲解(概述耦合UML)(1)

运行结果:

speaking方法被调用

但是,如果反过来,将父类抽象方法返回值定义为范围较小的 ArrayList,将子类重写方法中,反而将返回值类型方法,设置为 List,那么程序在编写的时候就会报错

uml结构图讲解(概述耦合UML)(2)

uml结构图讲解(概述耦合UML)(3)

(2) 修正违背里氏替换原则的代码

现在网上几种比较经典的反例,“几维鸟不是鸟”,“鲸鱼不是鱼” 等等

我打个比方,如果按照惯性和字面意思,如果我们将几维鸟也继承鸟类

uml结构图讲解(概述耦合UML)(4)

uml结构图讲解(概述耦合UML)(5)

猜您喜欢: