多态的概念依赖于继承 同一事物的多种形态
多态是类定义阶段的概念,多态性是类使用阶段的概念
#多态性依赖于:
#1.继承
#2 定义统一的接口
多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用同一个函数名调用不同内容的函数
在面向对象方法中的多态性:
向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法)。
也就是说,每个对象可以用自己的方式去响应共同的消息。所谓消息,就是调用函数,
不同的行为就是指不同的实现,即执行不同的函数
多态性的好处:
1 增加了程序的灵活性:使用同一个函数去调用某一类的对象
2.增加了程序的可扩展性:
可以通过继承一个父类去创建一个新的类,使用者无需更改自己的代码,还是用func去调用
# 多态:同一事物的多种形态 一个人既是人类,又是动物
#多态性:一种调用方式,不同的执行效果
class Animal:
def run(self):
print('animal is running')
class People(Animal):
def run(self):
print('人正在走')
class Pig(Animal):
pass
class Dog(Animal):
def run(self):
print('dog is running')
a1 = Animal()
peo1=People()
pig1=Pig()
d1=Dog()
#多态性依赖于:
#1.继承
#2 定义统一的接口
def func(obj): #参数没有类型限制,可以传入不同类型的值
obj.run() #调用的逻辑都一样,执行的结果却不一样
func(a1)
func(peo1)
func(pig1)
func(d1)
View Code