python基础之多态

作者:qianqqqq_lu 时间:2022-04-05 10:06:06 

多态

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

python基础之多态

python基础之多态

案例演示


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()

python基础之多态


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)  #通过函数统一调用

python基础之多态


增加新类完全无需修改代码,只需将需要的代码添加上就是了

# 案例演示
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基础之多态

来源:https://blog.csdn.net/weixin_44632711/article/details/120696257

标签:python,基础,多态
0
投稿

猜你喜欢

  • Python 格式化输出字符串的方法(输出字符串+数字的几种方法)

    2021-05-03 21:25:00
  • Python数组定义方法

    2021-05-30 08:46:39
  • Firefox插件推荐:CSS Usage

    2009-10-26 18:44:00
  • 关于CSS中字号控制的兼容性研究[译]

    2009-02-24 16:35:00
  • python实现excel转置问题详解

    2023-06-27 23:27:27
  • python中xrange用法分析

    2021-10-25 11:51:49
  • 解决Python 写文件报错TypeError的问题

    2022-09-18 06:54:26
  • 经典的退出浏览器弹窗代码

    2008-07-30 12:48:00
  • 微信小程序实现日期格式化

    2023-07-20 20:28:32
  • Python进程池Pool应用实例分析

    2022-02-22 16:46:01
  • 在ASP.NET 2.0中操作数据之五十三:在Data Web控件显示二进制数据

    2023-07-21 05:18:32
  • asp 解析一个xml文件的公用函数集合

    2008-02-29 13:40:00
  • Python爬虫采集微博视频数据

    2023-08-11 16:01:03
  • Python基于paramunittest模块实现excl参数化

    2023-12-27 00:29:02
  • Python PyQt拖动控件对齐到网格的方法步骤

    2022-05-04 19:25:00
  • python多线程实现动态图绘制

    2023-10-22 21:53:53
  • Linux系统中为php添加pcntl扩展

    2023-09-04 02:58:15
  • python3实现网页版raspberry pi(树莓派)小车控制

    2021-05-05 05:35:18
  • Javascript实现的鼠标经过时播放声音

    2010-05-18 20:03:00
  • 简单解析Django框架中的表单验证

    2023-09-07 04:51:05
  • asp之家 网络编程 m.aspxhome.com