TClass1 = class 
 procedure func1; virtual;//virtual;这个是做什么的
end;TClass2 = class(TClass1)
 procedure func1; override;//override这个是做什么的
end;

解决方案 »

  1.   

    virtual 的作用就是允许Tclass1的子类也可以有fun1的过程定义.
    override 的作用就是告诉tclass1在tclass2中重新定义了fun1过程.具体运行的时候,
    a: tclass1 ;
    b: tclass2 ; a.fun1 调用 tclass1的  fun1
    b.fun1 调用 tclass2的  fun2 
      

  2.   

    这些是OOP的一些基本思想,
    1.  virtual翻译过来就是虚方法,它自已可以实现也可以不实现,主要给后代一个可以override的方法。以便子类和父类用相同的函数下实现不同的功能。
    2.  override就是子类用相同的函数名来做和父类不同的事,但不覆盖父类方法,(还可以继承父类的方法)函数名相同而不带override字样的函数不同。
    3. overload就是重载,就是函数名相同的几个函数所带的参数或返回值不同。C++中可以对运逄符进行重载,delphi中不允许。
    4. abstract是抽象的方法,给子类提供一个接口,不实现,带有抽象方法的类和接口(interface)很相似,但有很大的不同,带有抽象方法的类成为抽象类,不能被实例化,但可以被继承,实现抽象方法。