接口的出現更遞了c++的多重的繼承,在應用中相當重要一部分,然而接口中最主要的一塊又是com接口(微軟提供的接口標準),接口只是服務聲明,而在一定形式并沒有實現類方法。
下面是一段簡單的代碼讓我們來看一下。
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
        function GetName:string;
    procedure SetName(s:string);//方法定義
  end;
  // 實現接口ISampleInterface
  TSampleImpl=class(TInterfacedObject,ISampleInterface)//接口繼承
  public
  __Name: string;
  function GetName:string;
  procedure SetName(s:string);
  end;
var
  Form1: TForm1;
  MyInterface:ISampleInterface;
implementation
{$R *.dfm}
function TSampleImpl.GetName:string;//方法實現
begin
  GetName:=__Name;
end;
procedure TSampleImpl.SetName(s:string);
begin
  __Name:= s;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  MyInterface:= TSampleImpl.Create;//建立對象
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  MyInterface.SetName(Edit1.Text);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
  Edit2.Text:=MyInterface.GetName;
end;
新聞熱點
疑難解答