静态语言和动态语言实现多态的区别?
- 静态语言:
- 继承
- 方法重写
- 父类引用指向子类对象
动态语言:
动态语言的多态崇尚‘鸭子’类型,当看到一个鸟走起来像鸭子,游起来像鸭子,跑起来也像鸭子,那么这只鸟就可以被称为是鸭子。在鸭子类型中,不需要关心是什么类型,到底是不是鸭子,只关心对象的行为
本文探讨了静态语言和动态语言在实现多态上的区别。静态语言依靠继承、方法重写和父类引用子类对象来实现多态。而动态语言则采用鸭子类型,关注对象的行为而非其类型,如果行为相似,则认为具备多态性。这种差异影响了两种语言的设计哲学和使用场景。
静态语言和动态语言实现多态的区别?
动态语言:
动态语言的多态崇尚‘鸭子’类型,当看到一个鸟走起来像鸭子,游起来像鸭子,跑起来也像鸭子,那么这只鸟就可以被称为是鸭子。在鸭子类型中,不需要关心是什么类型,到底是不是鸭子,只关心对象的行为
2642
3917
1988

被折叠的 条评论
为什么被折叠?