首页 > 其他分享 >pthon中的多态表现方法

pthon中的多态表现方法

时间:2023-07-16 17:00:11浏览次数:32  
标签:fly pthon 函数 self 多态 print 方法 def

Python中多态的作用
让具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容(功能)的函数。

Python中多态的特点
1、只关心对象的实例方法是否同名,不关心对象所属的类型;
2、对象所属的类之间,继承关系可有可无;
3、多态的好处可以增加代码的外部调用灵活度,让代码更加通用,兼容性比较强;
4、多态是调用方法的技巧,不会影响到类的内部设计。

多态的应用场景
1. 对象所属的类之间没有继承关系
调用同一个函数fly(), 传入不同的参数(对象),可以达成不同的功能

class Duck(object): # 鸭子类
def fly(self):
print("鸭子沿着地面飞起来了")

class Swan(object): # 天鹅类
def fly(self):
print("天鹅在空中翱翔")

class Plane(object): # 飞机类
def fly(self):
print("飞机隆隆地起飞了")

def fly(obj): # 实现飞的功能函数
obj.fly()

duck = Duck()
fly(duck)

swan = Swan()
fly(swan)

plane = Plane()
fly(plane)

===运行结果:===================================================================================
鸭子沿着地面飞起来了
天鹅在空中翱翔
飞机隆隆地起飞了

标签:fly,pthon,函数,self,多态,print,方法,def
From: https://www.cnblogs.com/Zhaolongtao/p/17558124.html

相关文章

  • NumPy(1)-常用的初始化方法
    一、NumPy介绍NumPy是Python中科学计算的基础包,它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。功能强大的N维......
  • cv::Mat 的 at(int y,int x) 方法可以访问元素
    https://blog.csdn.net/zhi_neng_zhi_fu/article/details/101300864 利用 cv::Mat 的 at(inty,intx) 方法可以访问元素;at 方法被实现成一个模板方法,在调用时必须指定图像元素的类型; ......
  • day08 8.4 Hook重载方法补充
    【一】什么是重载名字一样,但是参数不一样【1】重载介绍在Java中,重载(Overloading)指的是在同一个类中可以定义多个方法(函数)具有相同的名称,但参数列表不同的情况。换句话说,重载允许在同一个类中使用相同的方法名执行不同的操作,提供了更多的灵活性。【2】重载的规则如下:......
  • 类似nohup在windows通过cmd后台运行进程方法
    Linux后台运行进程时,通常使用如下方法:nohup"运行的内容"&windows相应功能的命令行如下(此方法进程有页面,可能会在桌面展示,关闭窗口后进程消失。callstart/min"n""运行的内容"cmd下难以实现nohup能力,但使用powershell可以。以下powershell方法,可实现后台运行,退出power......
  • C++ vector使用方法
    WARNING!本博文为算法笔记,恐说明错误,不建议参考本文膜拜大佬教程看不懂的教程......
  • IDM百度网盘加速下载方法
    步骤1:安装用户脚本管理器网址:如何安装用户脚本(greasyfork.org)步骤2:安装百度网盘千千下载助手网址:百度网盘千千下载助手(greasyfork.org)步骤3:下载IDMIDM下载地址:IDM_v6.38.7.2.rar-蓝奏云(lanzouw.com)配置IDM千千助手教程(qianqian.club)百度网盘提速下载......
  • Java方法
    Java方法何为方法?System.out.println(),那么它是什么呢?Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中创建,在其他方法被引用设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。......
  • Java学习day04: 方法和数组
    我在B站上大学......
  • python魔术方法类构建篇
    本篇章的很多魔术方法都是跟class的建立有关的4,类构建篇__init_subclass____set_name____class_getitem__和__mro_entries____prepare____instancecheck__和__subclasscheck__ __init_subclass__方法__init_subclass__这个方法你要定义在基类里面,然后当你以这个类为基......
  • 初识指针以及一些创建指针变量的常见问题和一些避免使用错误指针的方法
    在C语言中,指针是一种变量,用于存储另一个变量的内存地址。指针可以指向任何数据类型的变量,包括基本数据类型(如整型、字符型等)和复合数据类型(如数组、结构体等)。通过指针,我们可以直接访问和修改指向的变量的值,而不需要知道变量的名称。指针的声明使用星号(*)来表示,例如:int*ptr;//......