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 的一些备忘相关推荐

  1. element-ui 网格_UI备忘单:列表与网格

    element-ui 网格 重点 (Top highlight) Grids or lists? That is the question we will look at in this cheat ...

  2. vim的一些快捷键,备忘

    vim的一些快捷键,备忘 快捷键                                            作用 ctrl+g                                ...

  3. 资源 | AI、神经网络、机器学习、深度学习以及大数据学习备忘单

    向AI转型的程序员都关注了这个号☝☝☝ 以下是关于神经网络.机器学习.深度学习以及大数据学习的备忘单,其中部分内容和此前发布的<资源 | 值得收藏的 27 个机器学习的小抄>有所重复,大家 ...

  4. 机器学习项目的备忘清单!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Harshit Tyagi,编译:机器之心 机器学习项目中含有众多 ...

  5. 备忘:C语言void *

    由于研究一段代码的时候,看到了 void *.故此进行了学习. 看了 http://www.doc88.com/p-894907672962.html  的说明,感觉写得太好了,已无话可说. 故此备忘 ...

  6. [译] Kotlin 标准方法备忘

    原文地址:Kotlin Standard Functions cheat-sheet 原文作者:Jose Alcérreca 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/go ...

  7. Nancy之结合TinyFox调试备忘

    原文:Nancy之结合TinyFox调试备忘 最近把一个小项目的数据库换成MongoDB,同时用了MongoRepository 这个开源组件来对数据进行操作. 通过NuGet安装之后,它会自动在we ...

  8. CSP浏览器安全策略备忘

    挺久之前过了一遍CSP的安全策略,很多人把它喻为XSS攻击的终结者,因为这种策略不再像传统只靠各种正则和特征匹配来识别跨站攻击Payload,而是直接从协议层把一些存在安全隐患的用法默认给干掉了,把同 ...

  9. Cheat—— 给Linux初学者和管理员一个终极命令行备忘单

    当你不确定你所运行的命令,尤其是那些使用了许多选项的复杂命令时,你会怎么做?在这种情况下,我们使用man pages来获取帮助.还有一些其它的选择可能包括像'help','whereis'和'what ...

最新文章

  1. 动态刷新_屋盖“起飞”刷新国内记录,中建八局杭州萧山国际机场项目最新动态来袭...
  2. 编译原理视角下的 c c 语言左值教学,西安交通大学18年3月课程考试《编译原理》作业考核试题...
  3. 新品秀:Dell Cast,让Android平板变身台式PC
  4. Hadoop MapReduce的模式、算法和用例
  5. spring融合activitymq-all启动报错的解决办法
  6. python打包成exe文件、提示缺少pgzrun模块_命令行运行python项目文件,报错:ModuleNotFoundError: No module named 'xxxx' 解决办法...
  7. vue axios POST请求中参数以form data和request payload形式的原因
  8. 撰写本文的所有基本React.js概念
  9. 【Linuxamp;Unix--open/close/write/read系统调用】
  10. 《深入浅出DPDK》读书笔记(二):网卡的读写数据操作
  11. 微软将开放神经网络交换格式贡献给 Linux 基金会
  12. 数据挖掘算法-矩阵分解在推荐系统中的应用
  13. pwm 正弦波_谈谈逆变器输出的方波与正弦波
  14. python程序设计从基础到开发课后题答案夏敏捷_Python程序设计——从基础到开发...
  15. 网站上传服务器浏览器打不开,网站发布或自己上传程序后,网站打不开的原因有哪些?...
  16. 上手阿里云服务器(一)——搭建LAMP开发环境、防火墙、文件传输
  17. H5 PCM转WAV实时音频直播代码实现细节
  18. 深信服2018春季招聘-研发卷编程题 - 题解
  19. Codeforces.1139D.Steps to One(DP 莫比乌斯反演)
  20. Java汉字转换拼音工具类

热门文章

  1. 数据合并计算php,各位大神,求助如果用VBA实现以下数据合并以及数量计算
  2. 普通IO流字符输入输出流文件拷贝
  3. 基于matlab的信号与系统实例,华南理工大学信号与系统实验基于Matlab的信号处理实例...
  4. redis——Java整合
  5. Collections 工具类常见方法
  6. epoll的再次认识
  7. 可以直接进行运算么_WORD办公技巧:如何直接在WORD中进行加法、乘法运算?
  8. Ubuntu搭建联盟链,实现节点之间数据同步
  9. 针对Algorand所使用的密码相关技术细节进行介绍
  10. 英语口语Week 15 Wednesday