python里的override(重写)

2023-11-10

本文翻译自Let’s override

什么是override

override字面理解是无效,消除的意思,在Python里两个同名的方法但执行不同程序,其中一个方法使得另外一个方法无效的,这就叫override(重写)。
通常情况下,父类中的方法,而子类中有同名方法,在执行该方法时,调用的是该方法对应的类。
值得一提的是,这里父类和子类在原文中是superclass(总纲)和subclass(亚纲),用的是生物学术语,反应出计算机中的类与生物学分类的核心思想相似

实例

class Rectangle():
    def __init__(self,length,breadth):
        self.length = length
        self.breadth = breadth
    def getArea(self):
        print self.length*self.breadth," is area of rectangle"
class Square(Rectangle):
    def __init__(self,side):
        self.side = side
        Rectangle.__init__(self,side,side)
    def getArea(self):
        print self.side*self.side," is area of square"
s = Square(4)
r = Rectangle(2,4)
s.getArea()
r.getArea()

Square继承了Rectangle的变量和方法,此时getArea函数应该是def getArea(self):
print self.length*self.breadth," is area of rectangle"
,接着调用了Square定义的getArea函数,使得原来从Rectangle函数继承的getArea无效,现在的getArea函数为
def getArea(self):
print self.side*self.side," is area of square"

优势

我们在新建类的时候就不用想很多很多名字,想名字也是一个头疼的事情

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python里的override(重写) 的相关文章

随机推荐

  • 华为云主机被植入挖矿,主机变肉鸡破解实录。

    1 主机被植入挖矿主机现象 早上一大早来公司发现自己的华为云主机cpu使用一直飙高 然后使用top命令查看 发现top命令不能用 此时得我知道事情不简单了 然后使用last查看登录记录 发现记录都被清空了 然后history也是清空的 看不
  • 【华为OD机试真题 python】数字字符串组合倒序 【2022 Q4

    题目描述 数字字符串组合倒序 对数字 字符 数字串 字符串 以及数字与字符串组合进行倒序排列 字符范围 由 a 到 z A 到 Z 数字范围 由 0 到 9 符号的定义 作为连接符使用时作为字符串的一部分 例如 20 years 作为一个整
  • 初体验ipad

    初体验ipad 今天星期六 阳光明媚 在去饭堂吃早餐的路上 远远看见排球场人群涌动 听见舞台上有人在唱歌 心想肯定是什么飚歌大赛 跟咱无关 正准备转头离开 突然瞄到 3G体验 几个大字 由于没戴眼镜 看不清 就眯着眼睛看了看 写着 ipho
  • 群晖服务器性能测试,对群晖DS716+进行性能测试_群晖 DS716+_企业存储技术与评测-中关村在线...

    Iometer是一个工作在单系统和集群系统上用来衡量和描述I O子系统的工具 可以被配置为模拟任何程序或者基准测试程序的磁盘和网络I O的负载 或者用来产生整个综合的I O负载 它也可以用来产生并测量单系统或者多系统 网络 的负载 在性能测
  • 【CUDA学习笔记】OneFlow公众号CUDA算子优化文章学习笔记

    1 CUDA学习资料合集 OneFlow 岁末年初 为你打包了一份技术合订本 2 GPU概念介绍 GPU的硬件结构与执行原理 开源100天 OneFlow送上 百天大礼包 深度学习框架如何进行性能优化 2 1 内存模型 2 1 1 Bank
  • 模式分类识别

    模式分类识别 Python实现基于TCN时间卷积网络实现模式分类识别 目录 模式分类识别 Python实现基于TCN时间卷积网络实现模式分类识别 效果一览 文章概述 模型描述 程序设计 参考资料 效果一览 文章概述 TCN的设计十分巧妙 同
  • 【已解决】IDEA程序包com.mchange.v2.c3p0不存在解决方法

    IDEA程序包com mchange v2 c3p0不存在解决方法 解决方法 右键项目 Maven Reimport 如图
  • python opencv输出中文的方法 putText 支持中文输出

    python opencv输出中文 opencv在视频中通过putText函数能添加文字 但对于中文则无能为力 一般需要FreeType字体库进行处理 在python可以通过PIL转换一下 现将在视频中添加中文封装成函数如下 def pai
  • 10年历史回顾:数字货币市场投资逻辑变迁

    我们可见的未来的趋势之一就是数字货币行业不再围绕着 区块链 这个主题发展 本文经 代观 授权转载 作者 缺氧 内容旨在传递更多市场信息 不构成任何投资建议 经济学家阿尔钦说过 经济学其实不关心人是否理性 而关心人是否可以存活 进一步说 其实
  • 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 ________ ( )(我觉得就是可以自己定义呗)

    正确答案 B 你的答案 D 错误 地址传递 单向值传递 由实参传给形参 再由形参传回实参 传递方式由用户指定 个人认为 这里的简单变量应该是指内置类型 内置类型数据在传入函数时 使用值传递方式的效率要高于引用传递和指针传递 因此编译器会采用
  • Web服务器群集:部署Tomcat

    目录 一 理论 1 Tomcat 2 JDK 3 Tomcat安装 4 Tomcat优化 5 Tomcat虚拟主机设置 二 实验 1 JDK安装 2 Tomcat安装 3 Tomcat优化 4 Tomcat 虚拟主机配置 三 总结 一 理论
  • CTF_ctfshow_web7_sql注入之过滤空格

    打开靶机 打开每一个列表 发现有一个id 所以为get传参 ok 找一下注入点 2 union select 1 2 3 这里发现过滤了空格 所以直接用 代替空格进行绕过 发现回显点为2 3 下面开始查库吧 2 union select 1
  • Zotero使用指南06:Markdown笔记

    转载Zotero使用指南06 Markdown笔记 这篇推文主要介绍如何通过插件实现在Zotero用markdown做笔记 首先下载Markdown Here源码包 这里已为大家准备好 需要墙 https github com piyixi
  • python读写txt文件

    当我们做深度学习项目时实验数据规模非常庞大 而xls格式 最多6万多行 xlsx格式 和csv 最多100多万行 格式等都有写入上限 而txt格式下没有写入限制 因此我们可以利用txt格式读写大规模的实验数据 具体代码如下 import n
  • dz论坛开启html,DZ论坛解决https开启后部分出现http的网址问题导致https不能显示方法...

    首先 申请并且配置好服务器ssl证书 快云IDC https kuaiyunidc cn都有免费的 同时都有教程 配置完毕后需要配置以下几处 1 后台 全局 站点URL 2 后台 站长 ucenter设置 3 ucenter 应用 编辑 4
  • 大数据入门成长指南

    1 Java编程技术 Java编程技术是大数据学习的基础 Java是一种强类型语言 拥有极高的跨平台能力 可以编写桌面应用程序 Web应用程序 分布式系统和嵌入式系统应用程序等 是大数据工程师最喜欢的编程工具 因此 想学好大数据 掌握Jav
  • PCL 耳切三角剖分算法

    目录 一 算法原理 1 原理概述 2 主要函数 二 代码实现 三 结果展示 一 算法原理 1 原理概述 简单多边形的耳朵 是指由连续顶点 V 0 V 0 V
  • Net Core API跨域的处理 vs2017

    Startup ConfigureServices public void ConfigureServices IServiceCollection services services AddCors options gt options
  • 利用html模板发送邮件

    扣扣分享交流群 1125844267 一 背景 刚刚在测试别的项目组的项目时 突然发现人家的邮件内容怎么那么好看呢 再看看自己的 就几行字发过去了 不要说客户能不能满意 首先自己就感觉不好看 所以自己也搞一个试试 二 展示 完成后的邮件内容
  • python里的override(重写)

    本文翻译自Let s override 什么是override override字面理解是无效 消除的意思 在Python里两个同名的方法但执行不同程序 其中一个方法使得另外一个方法无效的 这就叫override 重写 通常情况下 父类中的