如何在飞镖/扑打中将子类用作父类类型?

时间:2020-01-20 10:51:24

标签: oop flutter dart

简短问题

在dart继承中,如何在某些情况下使用子类 需要父类型?

全案

在github上的这个#flutter_clock回购中:

https://github.com/flutter/flutter_clock/blob/master/digital_clock/lib/main.dart

ClockCustomizer接受了一个以ClockModel作为输入的函数,但是初始模型对我来说还不够,所以我制作了class ExtendedClockModel extends ClockModel并将所有其他函数放入其中

当我尝试将输入替换为ExtendedClockModel时,它给了我错误:

参数类型'DigitalClock Function(ExtendedClockModel)'不能为 分配给参数类型'Widget Function(ClockModel)'。

如何使用ExtendedClockModel作为ClockModel类型将扩展功能作为输入?且此代码策略对可伸缩性是否有益?还有其他工作方法吗?

0 个答案:

没有答案