Search

'TInterfaceList'에 해당되는 글 1건

  1. 2007.08.17 TInterfaceList 사용하기

TInterfaceList 사용하기

Programming/Delphi 2007.08.17 00:57 Posted by 파란크리스마스
델파이의 경우도 JAVA와 같이 객체의 상속은 하나만 되고, Interface의 상속은 다중으로 되고 있습니다. 객체의 어떠한 성격을 Interface로 만들고 그 것을 Collection 객체에 담아 두었다가 다시 사용할 수 있는 것은 OOP 프로그램을 하면서 유용하게 사용할 수 있을 것입니다. 최근에 TInterfaceList 가 있는 것을 알게 되었네요. 그래서 여기 Tip에 올립니다.

type
  IDatabase = interface
    function GetDatabaseName() : String;
  end;

  TDatabase = class(TInterfacedObject, IDatabase)
  private
    FDtabaseName : String;
  public
    procedure SetDatabaseName(ADatabaseName : String);
    function GetDatabaseName() : String;
  end;

{ TDatabase }

procedure TDatabase.SetDatabaseName(ADatabaseName : String);
begin
  Self.FDtabaseName := ADatabaseName;
end;

function TDatabase.GetDatabaseName() : String;
begin
  Result := Self.FDtabaseName;
end;

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  DatabaseList : TInterfaceList;
  ADatabase : TDatabase;
  InterfaceDatabase : IDatabase;
  i : integer;
begin
  DatabaseList := TInterfaceList.Create;

  ADatabase := TDatabase.Create;
  ADatabase.SetDatabaseName('Oracle');
  InterfaceDatabase := ADatabase;
  DatabaseList.Add(InterfaceDatabase);

  ADatabase := TDatabase.Create;
  ADatabase.SetDatabaseName('MsSQL');
  InterfaceDatabase := ADatabase;
  DatabaseList.Add(InterfaceDatabase);

  for i :=0 to DatabaseList.Count-1 do begin
    Memo1.Lines.Add(IDatabase(DatabaseList[i]).GetDatabaseName());
  end;
end;

신고


 

티스토리 툴바