TSL语言基础 > Object TSL > 方法

覆盖(override)    

  • 由于继承,子类具有了父类全部非私有的成员(字段、方法、属性),但是子类也可以对基类的方法进行重写。这种方法就叫做覆盖(override),具体的做法如下,
    首先基类的方法用virtual关键字虚函数,告诉编译器允许子类覆盖:
    Type BaseClass =class
      Funciton F();virtual;
      Begin
      //…
      End;
    End
    接下来,在子类中将将要覆盖的方法用override关键字标记为覆盖了基类的方法。它的参数的顺序(若有的话)必须和基类相同。
    Type SubClass =class(BaseClass)
      Funciton F();override;
      Begin
      //…
      End;
    End
    这样子类的方法F就覆盖了基类的方法F,当SubClass的实例调用F方法是,会执行子类中重新定义的方法。