函数重载、多态与型变

蓝咒 提交于 2019-11-28 22:24:05

一、问题描述

 

视图类需要填充数据:

 

view.loadData(data:Date);

 

视图是个继承体系;

视图数据的元素个不相同。

 

期望:

1、数据填充调用统一的接口;

2、传入的数据不经过类型转换可以直接获取数据中的具体元素。

 

解决方案:

参数协变;

 

结果:

参数协变 的函数被认为是函数重写;

 

 

二、函数重载的型变;

函数重载只支持参量的逆变和返回值的协变

 

 

三、结论

问题描述不可解。

 

四、接口与基类

在重载中不能替换为具体的类;

缺省只能使用公用功能。

 

使用具体功能需要经过类型转换。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!