当前位置 博文首页 > m0_51723227的博客:04多态

    m0_51723227的博客:04多态

    作者:[db:作者] 时间:2021-08-09 10:06

    多态:

    不同的子类对象调用**相同**的父类方法,产生不同的执行结果

    • 多态 可以 增加代码灵活度
    • 继承重写父类方法为前提
    • 是调用方法的技巧,不会影响到类的内部设计

    在这里插入图片描述

    多态案例:

    在这里插入图片描述

    class Dog(object):
        def __init__(self,name):
            self.name = name
        def game(self):
            print("%s蹦蹦跳跳的玩耍。。。"%self.name)
    
    
    class XiaoTianQuan(Dog):
        def game(self):
            print("%s飞到天上去玩耍"%self.name)\
    
    
    class Person(object):
        def __init__(self,name):
            self.name = name 
        def game_with_dogs(self,dog):
            print("%s和%s快乐的玩耍。。。"%(self.name,dog.name))
            # 让狗玩耍
            dog.game()
      
    wangcai = Dog("旺财")
    xiaoming = Person("小明")
    xiaoming.game_with_dogs(wangcai)
    wangcao = XiaoTianQuan("哮天犬")
    xiaoming.game_with_dogs(wangcao)
    

    运行结果:

    小明和旺财快乐的玩耍。。。
    旺财蹦蹦跳跳的玩耍。。。
    
    
    小明和哮天犬快乐的玩耍。。。
    哮天犬飞到天上去玩耍
    

    XiaoTianQuan中的game是对Dog重写

    而无论是旺财还是哮天犬都是父类Dog子类XiaoTianQuan中的对象,在人中 都调用了 父类Dog相同game方法名,这种方法就叫做多态!!!!!!!

    新人创作,若有问题,欢迎大佬们的斧正

    cs
    下一篇:没有了