virtual是用在父类中的,override是用在子类中的,为了继承父类中带virtual的方法。
如:
  TA= class
    public
      procedure ok;virtual;
  end;
  tB=class(TA)
    public
      procedure ok;override;
  end;
var
  Form1: TForm1;implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
var
  myclass: TB;
begin
  MyClass := Tb.Create;
  Myclass.ok;
end;
procedure TA.ok;
begin
  showmessage('aa');
end;procedure TB.ok;
begin
  inherited;
  showmessage('bb');
end;//显示结果为:选出现'aa'对话框,再出现'bb'对话框

解决方案 »

  1.   

    同意楼上的
    顺便再解释一下
    inherited;为继承父类的默认方法
    virtaul说明此方法为虚方法可以重载或继承
    override为继承  
      

  2.   

    你得了解“面向对象编程(OOP)”的概念了,virtual是指虚方法,可以让子类(也叫派生类)重载。override就是重载。重载的概念是:用一个接口方法,不同的子类有不同的实现。好比是走,不同的动物有不同的走法。不同的控件都接收绘制消息,消息的参数都一样,但每个控件绘制自身的实际过程不一样,画出的形状也不一样。又比如,有一个类叫TShape,它是指一个几何形体,是一个抽象概念。它有一个虚方法是Draw(绘制),但它什么都不干。还有四个属性是位置和大小。从TShape派生出TRectang,TCircle, TLine, TTriangle代表矩形、圆、线段、三角形。它们都对Draw重载了,分别画出矩形、圆、线段、三角形。现在在一个窗体中有一组TShape对象,比如说一个TShape对象数组,它们分别是用TRectang,TCircle, TLine或TTriangle创建的。注意,将一个子类对象赋给父类对象变量。现在可以在一个循环中对数组中的每一个元素(TShape对象)调用Draw方法,结果会在窗体中画出不同的形状。这就是OOP中的多态性。
      

  3.   

    to 阿贵
    重载好象是overload or reintroduce吧
    override是继承
      

  4.   

    我以前好像看书
    overload叫过载
    override叫覆盖
    reintroduce重引入
    不知道应该到底叫什么,搞不懂
      

  5.   

    这本书不怎么样嘛
    望文生义太生硬了
    OVER覆盖
    覆盖式载入不是重载是什么?
    至于override
    你可以看看它是不是要求你对原函数的参数之类的都原样照搬才行
    这不是继承是什么?
    至于reintroduce
    和overload一样是重载的意思
    这个从字面上就看得出来嘛 
    是和父类不同的子类方法(重引入)
      

  6.   

    to 阿贵
    重载是overload,重载与多态没有关系.与多态有关系是override,也就是继承,
      

  7.   

    是翻译的问题。我觉得是大家对于重载这个词的不同诠释,我对于重载的意思就是override,即重新实现父类的方法。overload我个人认为可以翻译为过载,不过电梯里重量超过了它所能承受的是不是叫过载,还是叫重载?我想不同的人见解不同。在OOP中我对overload的理解为,相同的名称但是不同的接口(参数类型)。另外我认为继承的意思是利用父类的代码和属性,而派生更大的意义是重载,表明是同一语义下不同的实现。我把重载念成Chong2 Zai3而不是Zhong4 Zai3,有误了,但有助于我的理解。另外,在CIBA 2001.net中:override
    vt.制服, 践踏, 奔越过, 蹂躏, 不顾, 不考虑(某人的意见,决定,愿望等)
    n.代理佣金overload
    vt.使超载, 超过负荷
    n.超载, 负荷过多没有计算机专业的翻译而过载翻译为Overload,各位找一找计算机词典,应该有更恰当的翻译。
      

  8.   

    如果就OOP而言,而不是真对具体到哪一门语言,实现多态分为两个方面,一是在不同的类中相同的行为有不同的解释,这就是通过继承来实现,二是在同一个类中一个行为对应多种参数,这就是重载.
    具体详细的解释等我回家找来书在和大家讨论.