多态指的是一类事物有多种形态(比如:老师.下课铃响了(),学生.下课铃响了(),老师执行的是下班操作,学生执行的是放学操作,虽然二者消息一样,但是执行的效果不同)
例如:动物有多种形态:人,狗,猪
from abc import ABCMeta,abstractmethod class Animal(metaclass=ABCMeta): @abstractmethod def eat(self):pass class Cat(Animal): #动物的形态之一:猫 def eat(self): print('cat eat') class Dog(Animal): #动物的形态之二:狗 def eat(self): print('dog eat') class Pig(Animal):pass #动物的形态之三:猪 def eat_fun(animal_obj): #定义一个函数让这个函数名去调用 animal_obj.eat() c = Cat() eat_fun(c) #函数名(对象) d = Dog() eat_fun(d) c = Cat() c.eat() 多态
python自带多态:
多态:同一类事物的多种状态
python里处处都是多态,只是我们一般发现不了
操作的时候不需要关心这个对象的数据类型,你只要用就行了
静态多态性(了解就好)
鸭子类型(如果两个类里面都有相同的方法,但是他们的类里面没有任何继承)
序列(str,list,tuple):有顺序的数据集合,这三个没有任何继承