python第五十课——多态性

animal.py

class Animal:
    def __init__(self,name):
        self.name = name

    def eat(self):
        pass

dog.py

from animal import Animal

class Dog(Animal):
    def __init__(self,name):
        super().__init__(name)

    def eat(self):
        print(self.name + '正在进食...')

cat.py

from animal import Animal

class Cat(Animal):
    def __init__(self,name):
        super().__init__(name)

    def eat(self):
        print(self.name + "正在进食...")

person.py

class Person:
    #人喂狗
    def feedDog(self,dog):
        dog.eat()

    #人喂猫
    def feedCat(self,cat):
        cat.eat()

    def feedAnimal(self,animal):
        animal.eat()

测试

from person import Person
from dog import Dog
from cat import Cat

'''
测试模块
演示多态的使用:
'''

#实例化人、狗、猫对象
p = Person()
d = Dog('旺旺')
c = Cat('咪咪')

p.feedDog(d)
p.feedCat(c)
p.feedAnimal(d)
p.feedAnimal(c)

返回目录

原文地址:https://www.cnblogs.com/hankleo/p/10502445.html