delphi 的一些备忘
override:覆盖;
overload:重载;
Reintroduce:重定义,它的引入是为了屏蔽父类的一个虚方法,而在子类中生成一个新的方法; 其实你不使用reintroduce也会覆盖屏蔽父类的方法的但是会产生一个警告!
virtual(虚拟方法)和dynamic(动态方法)表示:
后代类可以override祖先的同名方法,在override过程的实现里,还可以用inherited调用祖先的同名方法,virtual(虚拟方法)和dynamic(动态方法)两者的差异在于方法指针的保存,virtual方法使用VMT(Virtual Method Table),也就是说,每一个该类的后代类都拥有整个的VMT,其优点在于速度快,因为类的实例可以直接从VMT中找到该方法的入口,但它也耗用较多的内存;相对的dynamic方法则不使用VMT,如果类的后代没有override该方法,那么需要从它的父类去查找方法的入口,它的优点是少用内存,因为子类只保留它override的方法入口,缺点是速度较慢,尤其在多级继承的时候,可能需要前溯好多层才找到方法的。
一般的理解是,如果该方法其后代类基本都需要override的,使用virtual,如果该方法不经常在后代类中被override的,使用dynamic。
转载于:https://www.cnblogs.com/yryz/archive/2011/12/12/2284596.html
delphi 的一些备忘相关推荐
- element-ui 网格_UI备忘单:列表与网格
element-ui 网格 重点 (Top highlight) Grids or lists? That is the question we will look at in this cheat ...
- vim的一些快捷键,备忘
vim的一些快捷键,备忘 快捷键 作用 ctrl+g ...
- 资源 | AI、神经网络、机器学习、深度学习以及大数据学习备忘单
向AI转型的程序员都关注了这个号☝☝☝ 以下是关于神经网络.机器学习.深度学习以及大数据学习的备忘单,其中部分内容和此前发布的<资源 | 值得收藏的 27 个机器学习的小抄>有所重复,大家 ...
- 机器学习项目的备忘清单!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Harshit Tyagi,编译:机器之心 机器学习项目中含有众多 ...
- 备忘:C语言void *
由于研究一段代码的时候,看到了 void *.故此进行了学习. 看了 http://www.doc88.com/p-894907672962.html 的说明,感觉写得太好了,已无话可说. 故此备忘 ...
- [译] Kotlin 标准方法备忘
原文地址:Kotlin Standard Functions cheat-sheet 原文作者:Jose Alcérreca 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/go ...
- Nancy之结合TinyFox调试备忘
原文:Nancy之结合TinyFox调试备忘 最近把一个小项目的数据库换成MongoDB,同时用了MongoRepository 这个开源组件来对数据进行操作. 通过NuGet安装之后,它会自动在we ...
- CSP浏览器安全策略备忘
挺久之前过了一遍CSP的安全策略,很多人把它喻为XSS攻击的终结者,因为这种策略不再像传统只靠各种正则和特征匹配来识别跨站攻击Payload,而是直接从协议层把一些存在安全隐患的用法默认给干掉了,把同 ...
- Cheat—— 给Linux初学者和管理员一个终极命令行备忘单
当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像'help','whereis'和'what ...
最新文章
- 动态刷新_屋盖“起飞”刷新国内记录,中建八局杭州萧山国际机场项目最新动态来袭...
- 编译原理视角下的 c c 语言左值教学,西安交通大学18年3月课程考试《编译原理》作业考核试题...
- 新品秀:Dell Cast,让Android平板变身台式PC
- Hadoop MapReduce的模式、算法和用例
- spring融合activitymq-all启动报错的解决办法
- python打包成exe文件、提示缺少pgzrun模块_命令行运行python项目文件,报错:ModuleNotFoundError: No module named 'xxxx' 解决办法...
- vue axios POST请求中参数以form data和request payload形式的原因
- 撰写本文的所有基本React.js概念
- 【Linuxamp;Unix--open/close/write/read系统调用】
- 《深入浅出DPDK》读书笔记(二):网卡的读写数据操作
- 微软将开放神经网络交换格式贡献给 Linux 基金会
- 数据挖掘算法-矩阵分解在推荐系统中的应用
- pwm 正弦波_谈谈逆变器输出的方波与正弦波
- python程序设计从基础到开发课后题答案夏敏捷_Python程序设计——从基础到开发...
- 网站上传服务器浏览器打不开,网站发布或自己上传程序后,网站打不开的原因有哪些?...
- 上手阿里云服务器(一)——搭建LAMP开发环境、防火墙、文件传输
- H5 PCM转WAV实时音频直播代码实现细节
- 深信服2018春季招聘-研发卷编程题 - 题解
- Codeforces.1139D.Steps to One(DP 莫比乌斯反演)
- Java汉字转换拼音工具类
热门文章
- 数据合并计算php,各位大神,求助如果用VBA实现以下数据合并以及数量计算
- 普通IO流字符输入输出流文件拷贝
- 基于matlab的信号与系统实例,华南理工大学信号与系统实验基于Matlab的信号处理实例...
- redis——Java整合
- Collections 工具类常见方法
- epoll的再次认识
- 可以直接进行运算么_WORD办公技巧:如何直接在WORD中进行加法、乘法运算?
- Ubuntu搭建联盟链,实现节点之间数据同步
- 针对Algorand所使用的密码相关技术细节进行介绍
- 英语口语Week 15 Wednesday