python基础之多态

 更新时间:2021年10月22日 17:16:01   作者:qianqqqq_lu  
这篇文章主要介绍了python多态,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下

多态

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

在这里插入图片描述

在这里插入图片描述

案例演示

class Animal:
     def say_who(self):
         '''
         父类【基类】
         :return:
         '''
         print('你是一个动物')
         pass
     pass
class Duck(Animal):
    '''
    继承于animal这个类 鸭子类【子类】派生类
    '''
    def say_who(self):
        '''
        在这里重写父类的方法
        :return:
        '''
        print('我是鸭鸭丫')
    pass
class 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
     pass
class Duck(Animal):
    '''
    继承于animal这个类 鸭子类【子类】派生类
    '''
    def say_who(self):
        '''
        在这里重写父类的方法
        :return:
        '''
        print('我是鸭鸭丫')
    pass
class 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
     pass
class Duck(Animal):
    '''
    继承于animal这个类 鸭子类【子类】派生类
    '''
    def say_who(self):
        '''
        在这里重写父类的方法
        :return:
        '''
        print('我是鸭鸭丫')
    pass
class Dog(Animal):
    def say_who(self):
        print('只是一只汪罢了')
        pass
    pass
class 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代码实现

    小小聊天室Python代码实现

    这篇文章主要为大家详细介绍了小小聊天室Python具体的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Python中urlencode()函数构建URL查询字符串的利器学习

    Python中urlencode()函数构建URL查询字符串的利器学习

    这篇文章主要为大家介绍了Python中urlencode()函数构建URL查询字符串的利器学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • python-OpenCV 实现将数组转换成灰度图和彩图

    python-OpenCV 实现将数组转换成灰度图和彩图

    今天小编就为大家分享一篇python-OpenCV 实现将数组转换成灰度图和彩图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 详解基于python的多张不同宽高图片拼接成大图

    详解基于python的多张不同宽高图片拼接成大图

    这篇文章主要介绍了详解基于python的多张不同宽高图片拼接成大图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Python自省及反射原理实例详解

    Python自省及反射原理实例详解

    这篇文章主要介绍了Python自省及反射原理实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 关于Python中的海象运算符使用方法详解

    关于Python中的海象运算符使用方法详解

    这篇文章主要介绍了关于Python中的海象运算符“:=”使用方法详解,海象运算符(walrus operator)是 Python 3.8 中引入的一种新的语法,需要的朋友可以参考下
    2023-04-04
  • Python基础篇之字符串方法总结

    Python基础篇之字符串方法总结

    Python提供了丰富的字符串处理方法,可以方便地对字符串进行操作、处理和转换。在本文中,我们将介绍Python中常用的字符串方法,需要的可以参考一下
    2023-04-04
  • python中使用pyhook实现键盘监控的例子

    python中使用pyhook实现键盘监控的例子

    这篇文章主要介绍了python中使用pyhook实现键盘监控的例子,包含pyhook的下载地址和手册地址及一个Windows下的监控实例,需要的朋友可以参考下
    2014-07-07
  • Python中的进程操作模块(multiprocess.process)

    Python中的进程操作模块(multiprocess.process)

    这篇文章介绍了Python中的进程操作模块(multiprocess.process),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Python解决“argument after * must be an iterable”报错问题

    Python解决“argument after * must be an iterable”报错问题

    这篇文章主要介绍了Python解决“argument after * must be an iterable”报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论