小甲鱼对于多态的解释咋感觉不太对呢?
小甲鱼课件和课后作业介绍多态:可以对不同类的对象调用相同的方法,产生不同的结果我理解的多态:子类对象可视为父类对象 。若某函数(方法)的某个参数限定为类型 A 则其子类B 的对象b是可以当做A类对象传入的。
比如isinstance(b,A)返回的是True 这就是反映了多态。
而小甲鱼这个理解 我认为和继承的方法重写类似,还是继承的范畴,不是多态。 我自己再顶一下 从廖雪峰的教程上摘的:这就是动态语言的“鸭子类型”,它并不要求严格的继承体系,一个对象只要“看起来像鸭子,走起路来像鸭子”,那它就可以被看做是鸭子。
动态语言多态不一定要求B是A的子类。 有点蒙蔽
页:
[1]