面向对象-多态与多态性

多态是指的多种形态;比如水的多种形态:水,冰
多态性:在不考虑实例类型情况下使用实例,多态性分为静态多态性和动态多态性
静态多态性:如任何类型都可以用运算符+进行运算
多态:同一类事物的多种形态
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')

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

#多态性:指的是可以在不考虑对象的类型的情况下而直接使用对象
peo1=People()
dog1=Dog()
pig1=Pig()
cat1=Cat()

def func(animal):
    animal.talk()

func(peo1)
func(dog1)
func(pig1)
func(cat1)

 

posted on 2018-12-31 09:28  赫晓蕊  阅读(118)  评论(0编辑  收藏  举报

导航