面向对象之多态

多态的概念依赖于继承  同一事物的多种形态

多态是类定义阶段的概念,多态性是类使用阶段的概念

#多态性依赖于:
#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

 

posted @ 2017-04-23 09:36  柳姑娘  阅读(159)  评论(0)    收藏  举报