TSL语言基础 > Object TSL > 方法

构造函数    

  • 构造函数是一个特殊的方法,用来创建和初始化一个实例对象。声明一个构造函数就像声明一个函数一样,不同的是方法名必须是create.
    Function Create()

    TSL总是为一个类生成默认的公有(public)的create方法, 如果显式没有为类声明public create,对象初始化时就使用默认的create方法,如果用户声明了public create 方法,对象初始化时就执行用户定义的方法。Create 不可以声明为私有(private)的和受保护(protected)的方法,否则对象初始化时不执行自己声明的方法.

    Create 方法可以被重载(overload)几个不同的定义。
    由于使用CreateObject方法创建对象,Craete 方法的返回值将被忽略。

    示例:
    示例是一个简单的日历类,说明了构造函数的重载,初始化时如果调用Create方法,设置为当前日期,否则可以指定具体的年月日

    program test;
    Type Calandar =Class

    year;

    month;

    day;


    function Create() ;overload;

    Begin
    Create(YearOf(Date()),MonthOf(Date()),DayOf(Date()));



    End;


    function Create(y,m,d);overload;

    Begin


    year:=y;


    month:=m;


    day:=d;

    End;
    End;

    Begin

    C:=CreateObject("Calandar");
    //C:=CreateObject("Calandar",2008,8,8);也可以指定具体的年月日

    writeln(C.year,C.Month,C.Day);
    End.

    构造函数的覆盖:
    构造函数可以在子类中被覆盖,如果显示声明了构造函数,为了是成员初始化,一般在新的构造函数中都要求实现基类的构造函数
    调用Class(BaseClass).Create();