千家信息网

python中多态的示例分析

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,这篇文章将为大家详细讲解有关python中多态的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。多态多态:顾名思义九四多种形态\状态,就是同一种行为对不同的子
千家信息网最后更新 2024年11月24日python中多态的示例分析

这篇文章将为大家详细讲解有关python中多态的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

多态

多态:顾名思义九四多种形态\状态,就是同一种行为对不同的子类[对象]有不同的行为表现
要想实现多态 必须有两个前提需要遵守:
1.必须存在一种继承关系,必须发生在父类和子类之间
2.重写:子类重写父类的方法
多态的优点:
多态可以增加程序的灵活性
增加程序的扩展性
只要具备某种方法,无论继承者是谁,定义者是谁,都可以去调用


案例演示

class Animal:     def say_who(self):         '''         父类【基类】         :return:         '''         print('你是一个动物')         pass     passclass Duck(Animal):    '''    继承于animal这个类 鸭子类【子类】派生类    '''    def say_who(self):        '''        在这里重写父类的方法        :return:        '''        print('我是鸭鸭丫')    passclass Dog(Animal):    def say_who(self):        print('只是一只汪罢了')        pass    pass duck1=Duck()duck1.say_who()dog=Dog()dog.say_who()

class Animal:     def say_who(self):         '''         父类【基类】         :return:         '''         print('你是一个动物')         pass     passclass Duck(Animal):    '''    继承于animal这个类 鸭子类【子类】派生类    '''    def say_who(self):        '''        在这里重写父类的方法        :return:        '''        print('我是鸭鸭丫')    passclass Dog(Animal):    def say_who(self):        print('只是一只汪罢了')        pass    pass # 使用统一的函数去调用def commonInvoke(obj):    '''    同意调用的方法    :param obj: 对象的实例    :return:    '''    obj.say_who() # duck1=Duck()# duck1.say_who()# dog=Dog()# dog.say_who() listObj=[Duck(),Dog()]for item in listObj:    '''    循环调用函数    '''    commonInvoke(item)  #通过函数统一调用

增加新类完全无需修改代码,只需将需要的代码添加上就是了
# 案例演示class Animal:     def say_who(self):         '''         父类【基类】         :return:         '''         print('你是一个动物')         pass     passclass Duck(Animal):    '''    继承于animal这个类 鸭子类【子类】派生类    '''    def say_who(self):        '''        在这里重写父类的方法        :return:        '''        print('我是鸭鸭丫')    passclass Dog(Animal):    def say_who(self):        print('只是一只汪罢了')        pass    passclass Bird(Animal):    def say_who(self):        print('门前大桥下,停着一只鸟')# 使用统一的函数去调用def commonInvoke(obj):    '''    同意调用的方法    :param obj: 对象的实例    :return:    '''    obj.say_who() # duck1=Duck()# duck1.say_who()# dog=Dog()# dog.say_who() listObj=[Duck(),Dog(),Bird()]for item in listObj:    '''    循环调用函数    '''    commonInvoke(item)  #通过函数统一调用

关于"python中多态的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0