unit Unit2;
interface
uses System.SysUtils;
type
{ TSingle }
TSingle = class(TObject)
private
FStr: string;
protected
public
constructor Create;
class function GetInstance(): TSingle;
class function NewInstance: TObject; override;
procedure FreeInstance; override;
property Str: string read FStr write FStr;
published
end;
implementation
var
GlobalSingle: TSingle;
{ TSingle }
constructor TSingle.Create;
begin
FStr := DateTimeToStr(Now);
end;
procedure TSingle.FreeInstance;
begin
inherited;
GlobalSingle := nil;
end;
class function TSingle.GetInstance: TSingle;
begin
if not Assigned(GlobalSingle) then
begin
GlobalSingle := TSingle.Create();
end;
Result := GlobalSingle;
end;
class function TSingle.NewInstance: TObject;
begin
if not Assigned(GlobalSingle) then
GlobalSingle := TSingle(inherited NewInstance);
Result := GlobalSingle;
end;
delphi单例模式
猜你喜欢
转载自blog.csdn.net/y281252548/article/details/81298212
今日推荐
周排行