Python 类的多态

Posted Crown-V

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 类的多态相关的知识,希望对你有一定的参考价值。

一.多态

#类的多态


class Animal(object):  #Animal类继承object

    def __init__(self,color):

        self.color = color

    def eat(self):

        print("动物在吃!")

    def run(self):

        print("动物在跑")



class Cat(Animal):  #Cat继承Aninal  继承[属性和方法]

    def eat(self):  #方法重名
        print("猫仔!")


class Dog(Animal):  #继承时候,方法重名用子方法

    def __init__(self,name,age,color):
        super(Dog,self).__init__(color)  #super表示父类,调用父类的初始化方法

        self.name = name

        self.age = age

    def eat(self):  #方法重名
        print("狗仔!")


#多态
def feed(obj):
    obj.eat()

#对象作为参数传入

an = Animal("")
cat = Cat("橘黄")
dog = Dog("小黑",12,"黑色")

feed(an)
feed(cat)
feed(dog)

上面有三种类,Animal类、Cat类、Dog类,三种类中都有共同的方法eat()

使用方法

def feed(obj):
    obj.eat()

将对象当参数传入,对应的所有方法执行

以上是关于Python 类的多态的主要内容,如果未能解决你的问题,请参考以下文章

java 代码片段

Python--类的继承和多态

python大法好——继承多态

Python-面向对象(组合封装与多态)

Python之面向对象的组合多态菱形问题子类中重用父类的两种方式

Python学习之旅--封装继承多态