Python笔记_第三篇_面向对象_7.多态
1. 多态的概念
多态:一种事物的多种形态。其表现形式就是连续的继承关系。
还以人喂食动物的例子。最终目标是人可以喂食任何一种动物。如果人要喂食100多种动物,难道要写100中方法吗?多态就是把属性和方法进行连续的继承方式 ,把属性和方法在不同的位置进行传导。
我们一一个图示为例子:
原来的继承方式是这样:
多态作为一种传导,变成为这样形式:
举例代码如下:
# 定义一个人类,可以喂猫和老鼠吃东西 # 思考:人要喂100种动物,难道要写100种方法吗? # tom和jerry都继承自动物 class Animal(object): # 动物类 def __init__(self,name): self.name = name def eat(self): print(self.name + "吃") class Cat(Animal): # 猫类 def __init__(self,name): super(Cat,self).__init__(name) class Mouse(Animal): # 老鼠类 def __init__(self, name): super(Mouse, self).__init__(name) class Person(object): def feedAnimal(self,ani): # 直接继承自Animal就实现了多态。 print("给你食物") ani.eat() Tom = Cat("Tom") Jerry = Mouse("Jerry") per = Person() per.feedAnimal(Tom)
#
300 100
play
eat
func
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。