interface
uses
Windows, Messages, SysUtils, ADODB, DB, gMyPubConstDef;type
TDBConnector = class(TObject)
private
FConnected: Boolean;
FConnection: TADOConnection;
protected
constructor CreateInstance;
class function AccessInstance(Request: Integer): TDBConnector;
public
constructor Create;
destructor Destroy; override; procedure EndConnect;
class function Instance: TDBConnector;
class procedure ReleaseInstance;
procedure StartConnect; virtual;
property Connected: Boolean read FConnected;
property Connection: TADOConnection read FConnection write FConnection;
end;
我的问题1:
蓝色字体的class放在function procedure 前面有什么特殊的含义,我通常是不加的。
问题2:
关于构造器constructor的命名规则;关于构造器和销毁器destructor,是不是里面都要写inherited关键字?
uses
Windows, Messages, SysUtils, ADODB, DB, gMyPubConstDef;type
TDBConnector = class(TObject)
private
FConnected: Boolean;
FConnection: TADOConnection;
protected
constructor CreateInstance;
class function AccessInstance(Request: Integer): TDBConnector;
public
constructor Create;
destructor Destroy; override; procedure EndConnect;
class function Instance: TDBConnector;
class procedure ReleaseInstance;
procedure StartConnect; virtual;
property Connected: Boolean read FConnected;
property Connection: TADOConnection read FConnection write FConnection;
end;
我的问题1:
蓝色字体的class放在function procedure 前面有什么特殊的含义,我通常是不加的。
问题2:
关于构造器constructor的命名规则;关于构造器和销毁器destructor,是不是里面都要写inherited关键字?
构造函数里加inherited,就会调用父类的构造函数,
inherited是调用父类中同名的方法,如果你在自己写的类的构造方法中想先执行一些语句后,再执行父类的构造方法,可以这样写:
procedure Create;
begin
//do something
inherited;
//do something
end;