TSL语言基础 > Object TSL > 方法

重载(overload)    

  • TSL可以为一个类声明相同的名称不同参数的多个方法,这叫做重载。每个重载方法声明后面加关键字overload,并且它们必须有不同的参数列表。形式为:
    Function F();overload;
    示例:

    Type BaseClass =class
    public
    function Display(str,str2) ;overload;
    Begin
    writeln(str,' ',str2);
    End;
    function Display(str); overload;
    begin
    writeln(str);
    end;
    End;

    上面的代码为BaseClass声明了 2个Display方法。可以按照2种方式调用
    可以在子类中重载也可以重载父类的方法。
    示例:

    program test;
    Type BaseClass =class
    public
    function Display(str);
    begin
    writeln(str);
    end;
    End;
    Type SubClass =class(BaseClass)
    function Display(str,str2);overload;
    Begin
    writeln(str,' ',str2);
    End;
    End;
    Begin
    SC:=createObject("SubClass");
    SC.Display("overload");
    SC.Display("overload" ,"test");
    End.

    上面的例子中SubClass继承自BaseClass,SubClass的Display方法重载了父类Display方法。
    原理:SubClass通过继承实际上拥有了方法Display(str)方法,然后通过overload重载了本身的方法,于是SubClass具有了2个不同参数的Display?方法。