python多态的个人理解
多态就是:
定义一个类class X(animal) 中间继承animal 实现的方法是.run() 方法
继承animal的实例是cat dog 他们默认都有run()方法,重不重写都可
现在突然有个类(模块) 是tortoise ,只要继承自 animal,这个类tortoise的实例小tortoise同样可以当参数传进去,因为它继承自tortoise,而tortoise 继承自animal,所以肯定自带run(),无论里面是否重写run()
若一个函数里面传了一个类当参数,那么此类的所有子类实例默认可以完成此函数里面的 类.方法,多态的意义在于不用考虑调用这个函数的对象(或者继承此类的实例对象)有没有实现这个方法
以下为转载:
(1)什么是多态性(注意:多态与多态性是两种概念)
多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数。在面向对象方法中一般是这样表述多态性:向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)。也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,不同的行为就是指不同的实现,即执行不同的函数。
(2) 为什么使用多态:
1> 增加了程序的灵活性
以不变应万变,不论对象千变万化,使用者都是同一种形式去调用,如func(animal)
2> 增加了程序额可扩展性
通过继承animal类创建了一个新的类,使用者无需更改自己的代码,还是用func(animal)去调用
多态:同一种事物的多种形态,动物分为人类,猪类(在定义角度) 多态性:一种调用方式,不同的执行效果(多态性)