Python----多态

1、什么是多态

多态指的是一类事物有多种形态。

定义:多态是一种使用对象的方式,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的执行结果。

① 多态依赖继承

② 子类方法必须要重写父类方法

首先定义一个父类,其可能拥有多个子类对象。当我们调用一个公共方法时,传递的对象不同,则返回的结果不同。

好处:调用灵活,有了多态,更容易编写出通用的代码,做出通用的编程,以适应需求的不断变化!

2、多态原理图

公共接口service就是多态的体现,随着传入水果对象的不同,能返回不同的结果。

3、多态代码实现

多态:可以基于继承也可以不基于继承


class Fruit(object):
    # 公共方法
    def makejuice(self):
        print('i can make juice')

class Apple(Fruit):
    def makejuice(self):
        print('i can make apple juice')

class Banana(Fruit):
    def makejuice(self):
        print('i can make banana juice')

class Orange(Fruit):
    def makejuice(self):
        print('i can make orange juice')

class Peach(Fruit):
    def makejuice(self):
        print('i can make peach juice')


# 定义公共方法如service
def service(obj):
    obj.makejuice()


apple = Apple()
banana = Banana()
orange = Orange()

for i in (apple, banana, orange):
    service(i)


相关推荐

  1. Python

    2023-12-08 23:18:03       42 阅读
  2. python继承和

    2023-12-08 23:18:03       32 阅读
  3. Python 面向对象之

    2023-12-08 23:18:03       63 阅读
  4. python的理解

    2023-12-08 23:18:03       42 阅读
  5. Python学习之-继承和

    2023-12-08 23:18:03       39 阅读
  6. python 面向对象(封装、继承、)

    2023-12-08 23:18:03       40 阅读
  7. python 的继承、封装和

    2023-12-08 23:18:03       33 阅读
  8. <span style='color:red;'>多</span><span style='color:red;'>态</span>

    2023-12-08 23:18:03      48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 23:18:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 23:18:03       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 23:18:03       87 阅读
  4. Python语言-面向对象

    2023-12-08 23:18:03       96 阅读

热门阅读

  1. 【算法专题】分治 - 快速排序

    2023-12-08 23:18:03       40 阅读
  2. 合并表记录

    2023-12-08 23:18:03       56 阅读
  3. 【例1.6】回文数(Noip1999)

    2023-12-08 23:18:03       57 阅读
  4. Mysql日志binlog、redolog、undolog

    2023-12-08 23:18:03       48 阅读
  5. 人工智能在医疗领域的应用与前景

    2023-12-08 23:18:03       59 阅读
  6. LLVM学习笔记(64)

    2023-12-08 23:18:03       38 阅读
  7. 常用Nmap脚本

    2023-12-08 23:18:03       40 阅读
  8. Python合并一个 Excel 里面的多张表

    2023-12-08 23:18:03       59 阅读
  9. 系统维护与调试命令 -- ping

    2023-12-08 23:18:03       53 阅读
  10. IDEA中,Archetype的作用

    2023-12-08 23:18:03       56 阅读