Python 面向对象 - 05 多态

2019-03-03  本文已影响0人  flowerflower
👀👀

一、概念

例子:

需求

  1. Animal 类中封装方法 play
    • 一群动物在玩
  2. 定义 Dog 继承自 Animal,并且重写 play 方法
    • 小灰狗不想跟其他动物玩
  3. 定义 Person 类,并且封装一个 和狗玩 的方法
    • 在方法内部,直接让 狗对象 调用 play 方法
class Animal(object):
    def __init__(self,name):
        self.name = name

    def play(self):
        print("一群动物在玩 %s" %(self.name))

class Dog(Animal):

    def play(self):
        print("%s不想跟其他动物玩" %(self.name))

class Person(object):

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

    def game_with_dog(self,dog):
        print("%s和%s在愉快的晚上" %(self.name,dog.name))
        # 让狗玩
        dog.play()
        
        
dog = Dog("小灰狗")
zhangsan = Person("张三")
zhangsan.game_with_dog(dog)

打印结果


图片.png

案例小结

上一篇 下一篇

猜你喜欢

热点阅读