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)


相关推荐
打工仔折腾 AI2 分钟前
极空间用 Docker 部署 Photopea:网页版 PS 的私有化实践
运维·后端·python·docker·容器·langchain·ai agent 实战
Eiceblue10 分钟前
使用 Python 实现 Excel 行列转置(保留单元格样式)
前端·python·excel
念越11 分钟前
题库、练习与错题本代码阅读
开发语言·数据结构
WeiXin_DZbishe12 分钟前
基于Node.js的马拉松赛事管理系统的设计与实现-计算机毕设 附源码【课程设计】90211
java·javascript·vue.js·python·php·课程设计
l1t13 分钟前
几种数据库软件count(distinct)和count()from group by子查询性能测试
开发语言·数据库
熊猫钓鱼>_>22 分钟前
大学图论第 6 讲:网络流与二分图匹配——对偶性让瓶颈自己现形
开发语言·算法·面试·职场和发展·图论·校招·面经
方便面不加香菜22 分钟前
C++ 关于多态的知识点讲解
开发语言·c++
计算机编程指导师26 分钟前
计算机毕设选题推荐:基于Spark+Django的黄金价格历史数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·python·计算机·spark·django·课程设计·黄金价格
yi01134 分钟前
LeetCode 424. 替换后的最长重复字符|不定长滑动窗口:如何判断窗口是否合法?
笔记·python·算法·leetcode·双指针·滑动窗口
计算机编程指导师37 分钟前
计算机毕设怎么做?基于Spark+Django的股票数据分析与可视化系统实战指导 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·python·spark·django·毕业设计·股票·课程设计