本节目标
环境
类多继承
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| void main() { var xm = Xiaomi(); xm.startup(); xm.shutdown(); xm.call(); xm.sms(); }
class Phone { void startup() { print('开机'); } void shutdown() { print('关机'); } }
class AndroidPhone extends Phone { void startup() { super.startup(); print('AndroidPhone 开机'); } }
class AndroidSystem { void call() { print('android call'); } }
class Weixin { void sms() { print('weixin sms'); } }
class Xiaomi extends AndroidPhone with AndroidSystem, Weixin { void startup() { super.startup(); print('AndroidPhone 开机'); } }
|
采用 with ... , .... , ...
方式 mixin 入多个类功能
函数重名冲突
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| void main() { var xm = Xiaomi(); xm.startup(); xm.shutdown(); xm.sms(); }
class Phone { void startup() { print('开机'); } void shutdown() { print('关机'); } }
class AndroidPhone extends Phone { void startup() { super.startup(); print('AndroidPhone 开机'); } }
class AndroidSystem { void call() { print('android call'); } }
class Weixin { void sms() { print('weixin sms'); } }
class QQ { void sms() { print('qq sms'); } }
class Xiaomi extends AndroidPhone with AndroidSystem, Weixin, QQ { void startup() { super.startup(); print('AndroidPhone 开机'); } }
|
遇到相同功能的函数,最后载入的会覆盖之前的函数定义
代码
参考
© 猫哥
https://ducafecat.tech
邮箱 ducafecat@gmail.com / 微信 ducafecat / 留言板 disqus