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

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

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

相关文章

10.高效分布

ListView默认的分页是先从数据源取得所有数据,然后再截取当前页面的部分,在数据量非常大的情况下效率非常低,因此默认的分布基本不能用。应该是只从数据源取得要显示的数据即可。SQL中语句中取得分页数据的方法为:Select * ,ROW_N…

项目测试~

这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 这个作业要求在哪里 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3340 团队名称 求莫名堂 作业的目标 学会进行项目的测试,并通过测试发…

boost_1_48_0 在VS2008下的安装 Boost.Asio安装

第一步:到官网www.boost.org,下载boost最新版boost_1_48_0.zip第二步:将boost压缩包解压到C盘根目录下(在C盘操作简单,不会出错),目录为C:\BOOST_1_48_0,里面就是boost的源码和需要编译的文件及文档资料第三步&#xf…

线程----BlockingQueue

import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** 本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue是空的,从BlockingQueue取东西…

D3D9 effect (hlsl)(转)

转:http://blog.csdn.net/leonwei/article/details/8212800 effect其实整合了shader和render state的控制两大部分内容 9.1 effect文件基本框架 part1 :shader state包括全局变量 shader数据结构定义,shader的实现 part2 :texture and sample…

boost_1.47在VS2010下的安装

第一步:到官网www.boost.org,下载boost最新版boost_1_47_0.zip第二步:将boost压缩包解压到C盘根目录下(在C盘操作简单,不会出错),目录为C:\BOOST_1_47_0,里面就是boost的源码和需要编译的文件及文档资料第三步&#xf…

创建 WPF 不规则窗口

创建 WPF 不规则窗口 本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链接  E-mail: khler163.com  QQ: 23381103  MSN: pragmachotmail.com   相对于用MFC创建不规则窗口,WPF创建不规则窗体的过程就显得相当享受了&…

公司运作 - 利润率、周转率

公司一般由市场部、研发部、财务部、人力资源部及其他辅助部门组成。分成了几个层面,如下: 宏观层面:业务范围、业务定位、专业化、多元化部门层面:各部门绩效、部门职责主体层面:跨部门事务,如产品研发涉及…

ffmpeg编解码详细过程

1. 注册所有容器格式和CODEC:av_register_all() 2. 打开文件:av_open_input_file() 3. 从文件中提取流信息:av_find_stream_info() 4. 穷举所有的流,查找其中种类为CODEC_TYPE_VIDEO 5. 查找对应的解码器:avcodec_find_decoder() 6. 打开编解码器:avcodec_open() 7.…

使用docker 起容器配置负载均衡(加权)

首先要准备三个nginx的容器; 第二个容器: 第三个容器: 进入第一个容器(主容器) 要配置的容器(docker exec -it 容器id /bin/bash) vi/etc/nginx/nginx.conf 修改配置 在http{ }中加入 vi/etc/…

茴香豆的n种写法之②——Sql据多个条件 查询每个条件的前N条记录

----------------------------------- Author: liangCK 小梁-- Title : 查每个分组前N条记录-- Date : 2008-11-13 17:19:23-----------------------------------> 生成测试数据: #TIF OBJECT_ID(tempdb.dbo.#T) IS NOT NULL DROP TABLE #TCREATE TABLE #T (ID VARCHAR(3),G…

PostgreSQL建表动作分析

首先,建立表: pgsql# create table tab10(id integer); CREATE TABLE pgsql# select 147525::regclass;regclass ----------tab10 (1 row)pgsql# 查看此时的文件信息: [pgsqllocalhost 16384]$ pwd /home/pgsql/DemoDir/base/16384[pgsqllo…

http 断点续传,Windows下HTTP方式单线程下载

http 断点续传www.diybl.com 时间 : 2011-05-20 作者:匿名 编辑:hawk 点击: 1128 [ 评论 ]-- 原理: 1. 打开本地文件fopen,移动文件指针到文件尾fseek 2. 获得文件大小ftell, 格式化HTTP请求头 &…

给创业者的30条建议

http://www.cocoachina.com/programmer/20150206/11119.html 去年年底的时候,我(Firstround Review 主编)在 Facebook 公司的咖啡厅里和 Caryn Marooney 交流着创业公司应该注意些什么事情。Caryn Marooney 现在是 Facebook 公司科技交流部门…

php swoole websocket vue 实现聊天室案例

代码地址: https://github.com/9499574/demo_chat_room 转载于:https://www.cnblogs.com/phper8/p/11017892.html

数据结构 练习21-trie的原理分析和应用

前言 今天具体分析一下trie树,包括:原理分析,应用场合,复杂度分析,与hash的比较,源码展现。大部分内容来自互联网,文中会注明出处。 原理分析 主要是hash树的变种,先看下图&#xff…

在辞职后的旅途中:我写了个App 创立了一家公司

http://www.cocoachina.com/programmer/20150206/11119.html 英文原文:How I built a startup while traveling to 20 countries 一年前,我离开了旧金山,变卖或者送掉了一切我所拥有的东西,然后买了一只 40 升的登山包。 我旅行到…

Android找工作系列之自定义View

...转载于:https://www.cnblogs.com/hbolin/p/11019959.html

POJ 1088-滑雪

矩阵里的数字代表当前点的高度,只能从高的点滑到低的点,求最长能滑的距离。初始点 不规定。我们可以向每个点的四周搜索,能走则就在当前距离加1。并将已经求的值保存在 二维数组中。(记忆化搜索) /*Accepted 252K …

PostgreSQL的 initdb 源代码分析之二十一

继续分析: setup_schema(); 展开: 实质就是创建info_schema。 cmd 是: "/home/pgsql/project/bin/postgres" --single -F -O -c search_pathpg_catalog -c exit_on_errortrue -j template1 >/dev/null infor_schem_file是&…