第三十一章 Classes - 继承规则

第三十一章 Classes - 继承规则

继承规则

与其他基于类的语言一样,可以通过继承组合多个类定义。 类定义可以扩展(或继承)多个其他类。这些类又可以扩展其他类。

请注意,类不能继承 Python 中定义的类(即 .py 文件中包含的类定义),反之亦然。

以下小节提供了中类继承的基本规则。

继承顺序

使用以下继承顺序规则:

  1. 默认情况下,如果在多个超类中定义了给定名称的类成员,则子类将从超类列表中最左边的类中获取定义。
  2. 如果类定义包含 Inheritance = right,则子类从超类列表中最右侧的类中获取定义。

由于历史原因,大多数类都包含 Inheritance = right

主要的超类

任何扩展其他类的类都有一个主要超类。

无论类使用哪种继承顺序,主超类都是第一个,从左到右阅读。

对于任何类级编译器关键字,给定类使用其主超类中指定的值。

对于持久化类来说,主超类尤其重要。

最具体的类型类Most-Specific Type Class

尽管一个对象可以是属于多个类extent的实例(例如各种超类的extent),但它始终具有最特定的类型类 (MSTC)。当该对象是该类的实例但不是该类的任何子类的实例时,类是该对象的最具体类型。

重写方法

类从其一个或多个超类继承方法(类方法和实例方法),可以覆盖这些方法。如果这样做,必须确保方法定义中的签名与要重写的方法的签名匹配。子类方法的每个参数必须使用与超类方法的参数相同的数据类型,或者该数据类型的子类。但是,子类中的方法可以指定超类中未定义的其他参数。

可以使用 Python 方法覆盖以 ObjectScript 编写的方法,反之亦然,只要方法签名匹配即可。

在子类的方法中,可以引用它在超类中重写的方法。要在 ObjectScript 中执行此操作,请使用 ##super() 语法。例如:

//overrides method inherited from a superclass
Method MyMethod() [ Language = objectscript ]
{//execute MyMethod as implemented in the superclassdo ##super()//do more things....
}

注意:##super 不区分大小写。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/82170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于DSPACE功率平衡理论的并联有源电力滤波器模型(Simulink)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

入行IC | 新人入行IC选择哪个岗位更好?

很多同学入行不知道怎么选择岗位。IC的岗位一般有设计、验证、后端、封装、测试、FPGA等等。但是具体到每个人身上,就要在开始的时候确定下你要找的职位,可以有两个或三个,但是要分出主次,主次不分会让你纠结整个找工作的过程。 …

webpack配置alias后eslint和ts无法识别

背景 我们在 webpack 配置 alias 后,发现项目中引入的时候,还是会报错,如下: 可以看到,有一个是 ts报错,还有一个是 eslint 报错。 解决 ts 报错 tsconfig.json {"compilerOptions": {...&q…

【力扣每日一题】2023.9.18 打家劫舍Ⅲ

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 今天是打家劫舍3,明天估计就是打家劫舍4了。 今天的打家劫舍不太一样,改成二叉树了,不过规则没有变&…

ORACLE多列中取出数据最大的一条

1.需求说明: 当查询出来的数据存在多条数据时,想按照一定条件排序取出其中一条数据。 2.使用函数: row_number() over( partition by 分组字段 order by 排序字段 desc) 3.示例: --根据table_a中的pk_house&#x…

狗dog 数据集VOC-5912张

狗,是食肉目犬科犬属 哺乳动物 ,别称犬,与马、牛、羊、猪、鸡并称“六畜” 。狗的体型大小、毛色因品种不同而不同,体格匀称;鼻吻部较长;眼呈卵圆形;两耳或竖或垂;四肢矫健&#xff…

网站降权的康复办法(详解百度SEO数据分析)

随着搜索引擎算法的不断升级,很多网站在SEO优化过程中遭遇到降权的情况。如果您的网站也遭遇到了类似的问题,不必惊慌失措。本文将为您详细介绍网站降权恢复的方法,包括百度SEO数据分析、网站收录少的5个原因、网站被降权的6个因素以及百度SE…

超自动化的未来

如今,部分企业正尝试从小规模的自动化开始,将超级自动化用于营销分析和数据库维护等不同任务。企业应该对超自动化进行更深入的挖掘,如果人们能够更加仔细的观察总结企业的每个流程,那么就能发现更多可以从自动化技术中受益的领域…

IP风险查询:抵御DDoS攻击和CC攻击的关键一步

随着互联网的普及,网络攻击变得越来越普遍和复杂,对企业和个人的网络安全构成了重大威胁。其中,DDoS(分布式拒绝服务)攻击和CC(网络连接)攻击是两种常见且具有破坏性的攻击类型,它们…

js写一个判断字符串是否能够转为JSON 的函数

其实非常简单 这里我们需要涉及到 捕获异常 因为如果你直接在if里面转 我已经试过了 直接就报错了 一点面子不给 我们写一个这样的函数 function isJsonString(str) {try {JSON.parse(str);return true;} catch (e) {return false;} }编写如下代码 console.log(isJsonString(…

企业架构LNMP学习笔记58

开始学习Tomcat: 学习目标和内容: 1)能够描述Tomcat的使用场景; 2)能够简单描述Tomcat的工作原理; 3)能够实现部署安装Tomcat; 4)能够实现和配置Tomcat的Server服务…

openstack的port重建流程【neutron port-show 中的ip信息】

文章目录 说明日志prot重建过程 说明 为什么要重建port,是因为有一台虚拟机迁移失败回退后依然无法启动,原因是因为不能重建网络,所以尝试重建port解决这个问题。而重建port信息后,问题解决,虚拟机可以正常启动了。 …

VMware虚拟机如何设置网络

一直没弄明白怎么能让虚拟机正常上网和访问,最近总结一个小经验 要在宿主机访问虚拟机电脑服务器,要设置成nat格式,虚拟机可以上网,宿主机访问虚拟机上的ip即可访问虚拟机里的服务器,也就是这样设置就行。 这时候ip不…

blender怎么设置中文界面

你们知道Blender软件是什么吗?你知道blender怎么设置中文界面吗?Blender是个GNU的3D绘图软件,建模、算图、动画等功能都相当的完整,可以说已经具有了一般商业软件的规模。Blender大部分的功能都有热键,操作起来相当地轻…

实现安全的服务通信:探索如何使用服务网格来确保服务间的安全通信

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

Python实现Token过期自动刷新并重试原请求

文章目录 问题描述解决方案代码参考文献 问题描述 本人系统经常与上游系统进行交互,其中获取 Token 的接口调用次数过多,想将它存储在内存中,在请求失败后再重新获取 Token 继续进行原请求。 解决方案 灵感来自 sbzhu 的项目 weworkapi_pyt…

[Android][音频] 关于AudioTrack libaudioclient libaaudio

AudioTrack: AudioTrack是Android的PCM播放音频组件,只能用来播放PCM数据,因此AudioTrack往往配合软解组件或者MediaCodec硬解一起工作。大部分情况下,音频的解码都是软解来负责,或者直接交由音频播放设备进行设备端的…

22.2 JavaScript 常用操作

1. BOM操作 浏览器对象模型(BOM): 是JavaScript与浏览器交互的接口集合. 它提供了一组对象, 用于操作浏览器窗口, 历史记录, 文档等. BOM可以通过Javascript代码来访问和控制浏览器的功能和行为.BOM的核心对象是window对象, 它表示浏览器的窗口或框架. 通过window对象, 可以访…

Matlab图像处理-强度分层法

强度分层法 强度分层技术是最简单的伪彩色图像处理方法之一。 如果将一幅图像被描述为空间坐标(x,y) 的强度函数f(x,y) ,则分层的方法可以看作是将一些平面平行于图像坐标平面(x,y) ,然后将每个平面在相交区域切割图像函数。下图展示了使用平面将图像函…

【基础篇】六、基于SpringBoot来整合SSM的案例(下)

文章目录 1、前后端调用:axios发送异步请求2、添加功能3、删除功能4、修改功能5、异常消息处理6、分页功能7、分页Bug处理8、条件查询 接下来加入前端页面,使用axios发送异步请求调用上篇的接口。调前端代码时,发现还挺有趣,刷新、…