7.复合类型注解

目录

1  联合类型

2  交叉类型

2.1  基本使用

2.2  与继承的区别


1  联合类型

联合类型是 或 的关系

联合类型表示这个变量可以是多个类型,比如 a 可以是 数字或字符串

使用联合类型后改变到指定的类型就不会报错了

2  交叉类型

2.1  基本使用

交叉类型是 和 的关系

扫描二维码关注公众号,回复: 16394702 查看本文章

和 的关系就不能是基本类型了,因为一个普通的变量不能既是数字又是字符串

2.2  与继承的区别

首先是逻辑上就有区别,继承是父子关系,交叉类型是兄弟关系

我们再从代码的层面来看,你用交叉类型,有的时候它会自动给你兼容(不是所有的情况,比如返回值就不行)。比如我在下面的Bird与Person中都定义了fly(),fly()有相同的参数a,一个a定义的是数字,另一个a定义的是字符

这个时候你定义BP,BP的fly()既可以是数字也可以是字符

在用继承的时候直接就报错了,因为子类不能与父类发生冲突

猜你喜欢

转载自blog.csdn.net/potato123232/article/details/132044522