Python进阶-----类之 多态

多态:指一类事物有多种形态,对象通过他们共同的属性和动作来操作及访问,而不需要考虑他们具体的类。

    多态表明了动态(运行时)绑定的存在,不同的对象调用相同的方法。多态是继承的实现细节。

import abc
class Animal(metaclass=abc.ABCMeta): #同一类事物:动物
    @abc.abstractmethod
    def talk(self):
        pass

class People(Animal): #动物的形态之一:人
    def talk(self):
        print('say hello')

class Dog(Animal): #动物的形态之二:狗
    def talk(self):
        print('say wangwang')

class Pig(Animal): #动物的形态之三:猪
    def talk(self):
        print('say aoao')

po = People()
do = Dog()
pi = Pig()

def func(obj):
    obj.talk()

func(po)
func(do)
func(pi)

# 上述过程就称之为多态,由动物类实例化出人、狗、猪,但是都可以调用同一个talk方法,也可以用一个函数来统一调用

 

posted @ 2018-10-14 23:27  Meanwey  阅读(216)  评论(0编辑  收藏  举报