http://blog.csdn.net/honglixx/article/details/3624934
1、override overload reintroduce的中文叫法是什么?
override:覆盖;overload:重载;Reintroduce:重定义
2、在子类中override或overload父类中的动态或虚拟方法后是否会改变父类中的相应方法?
不会
3、self是怎么回事,怎么使用?
Self因为这这个对象本身,例如,在TForm1的OnCreate事件中写Self指的是TForm1实例化后的对象,如果TForm1上有一个TButton叫做Button1,那么OnButton1Click中写的Self也是TForm1实例化后的对象,
4、reintroduce与override overload有何区别,怎么使用?
在子孙类中要声明一个与祖先类中参数不同的方法的时候用Reintroduce,
但需要重新定义一个祖先类总的虚拟的或者动态的方法的时候,要用到Override;如果祖先类中的方法不是虚拟的或者动态的(定义的时候有virtual;就是虚拟的,有dynamic;就是动态的);那么是没有办法override的
至于Overload,一般适用于定义一组不同参数的函数,这些函数也可以不是Of Objects(中文该怎么说?)。
reintroduce引入是为了屏蔽父类的一个虚方法,而在子类中生成一个新的方法;overload是为了处理同名的方法有不同的参数而设计的;
其实你不使用reintroduce也会覆盖屏蔽父类的方法的但是会产生一个警告,
使用了这个关键字,表明你要屏蔽这样不会产生警告的! 如果类不从别的类继承(实际上也就是从TObject继承),
constructor Create; virtual; //virtual表示虚函数,表示可以被子类override;
destructor Destory: virtual;
如果从其它类继承,如:TForm
constructor Create(AOwner: TComponent); override;
destructor Destory: override;
如果子类想再overload一个函数,则必须加上reintroduce和overload
constructor Create(AOwner: TComponent); overload; override; //这里的overload必面在override之前.
constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; overload; 例子
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs; type
Ta = class(TObject)
public
constructor Create; virtual;
destructor Destory; virtual;
procedure aaa; virtual;
end;
tb = class(ta)
public
constructor Create; overload; override;
constructor Create(a: String); reintroduce; overload;
destructor Destory; override;
procedure aaa; overload; override;
procedure aaa(a: string); reintroduce; overload;
end; TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
c: tb;
public
{ Public declarations }
end;

  

delphi override、overload、reintroduce的区别-0613.txt的更多相关文章

  1. override overload reintroduce的区别(delphi)

    1.override overload reintroduce的中文叫法是什么?   override:覆盖:overload:重载:Reintroduce:重定义 2.在子类中override或ov ...

  2. overload和override二者之间的区别

    overload和override三者之间的区别 Overload是重载,是有相同的方法名,但参数类型或个数彼此不同Override是重写,是在子类与父类中,子类中的方法的方法名,参数个数.类型都与父 ...

  3. 在delphi中, reintroduce作用

    在delphi中, reintroduce作用 当在子类中重载或者重新声明父类的虚方法时,使用     reintroduce   关键字告知编译器,可以消除警告信息.如:          TPar ...

  4. Java-Runoob-面向对象:Java Override/Overload

    ylbtech-Java-Runoob-面向对象:Java Override/Overload 1.返回顶部 1. Java 重写(Override)与重载(Overload) 重写(Override ...

  5. override与重载的区别

    override与重载的区别override 与重载的区别,重载是方法的名称相同.参数或参数类型不同,进行多次重载以适应不同的需要 Override 是进行基类中函数的重写.

  6. overload和override的含义和区别

    重载(overload)和重写/覆盖(override)是Java多态性的不同表现形式. 重载(overload) (1) 重载是通过不同的方法参数来区分的,如不同的参数个数.顺序.类型. (2) 不 ...

  7. 【转】重载(overload),覆盖(override),隐藏(hide)的区别

    原文网址:http://www.cppblog.com/zgysx/archive/2007/03/12/19662.html 写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖 ...

  8. 重写(override)和重载(overload)的区别

    override(重写): 是进行基类中函数的重写,是面向对象的概念 重载(overload):是方法的名称相同,参数或参数类型不同,进行多次重载以适应不同的需要.overload 是面向对象的概念.

  9. 重写(override)与重载(overload)的区别

    一.重写(override) override是重写(覆盖)了一个方法,以实现不同的功能.一般是用于子类在继承父类时,重写(重新实现)父类中的方法. 重写(覆盖)的规则: 1.重写方法的参数列表必须完 ...

随机推荐

  1. CCF 最大的矩形

    问题描述 试题编号: 3 试题名称: 最大的矩形 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个 ...

  2. Java_内存管理String and Array

    题目1.指出下列程序运行的结果 ()public class Example { String str = new String("good"); char[] ch = { 'a ...

  3. MongoDB配置文件YAML-based选项全解

    配置文件部分 MongoDB引入一个YAML-based格式的配置文件.2.4版本以前的仍然兼容. 我的mongodb配置文件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  4. backBarButtonItem 替换

    最上级vc里面加 下级设置生效 UIImage* image = [UIImage imageNamed:@"back_button.png"]; [item setBackBut ...

  5. class-dump获取iOS私有api

    转自:http://blog.csdn.net/sunyuanyang625/article/details/41440167 获取各类iOS私有api 安装工具class-dump 资源地址http ...

  6. Java多线程---同步与锁

    一,线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏. 二.同步和锁定 1.锁的原理 Java中每个对象都有一个内置锁. 当程序运行到非静态的synchronized同步方法上时,自动 ...

  7. 直接放个DB2 SQL STATEMENT大全好了!

    SQL statements   This topic contains tables that list the SQL statements classified by type. SQL sch ...

  8. centos 安装 py pyhs2

    1. yum install gcc-c++ cyrus-sasl-develpip2.7 install pyhs2 --->好像不行,在试试 用于 hive thrift 访问 2. os. ...

  9. 实现QQ在线咨询(需先添加好友)

    实现效果如图: 点击客服专员一.二.三之后提示添加qq好友,进行聊天. 代码如下: <div class="attachLeft"> <img src=" ...

  10. jQuery – 7.动态创建Dom、删除节点

    动态创建Dom节点     1.使用$(html字符串)来创建Dom节点     2.append方法用来在元素的末尾追加元素     案例:动态生成网站列表     3.prepend,在元素的开始 ...