介面分廣義和狹義之分,很多國內翻譯的書對此誤人非淺。在delphi中,廣義介面除了你要問的介面還包括抽象類、在單元文件前宣告的inte***ce等,狹義介面指的是在程式設計中用inte***ce定義的。
簡單地說狹義介面(以後稱介面)就是定義了方法和屬性的空架子(術語為方法簽名,包括函式和過程),屬性本身也是存過程和取函式,即也是方法,在介面定 義中所有成員都是預設的public,沒有資料成員。這些方法由繼承它的子類來實現,這個子類只能有乙個而且必須有乙個父類,卻可以有多個父介面。
介面可以連線完全不同的類對某一共同操作的橋梁,比如,「跑」這個操作,如果要用類繼承,可以在子類中去過載,但是「日本豬」、「小泉家族」、「耗子」、 「機器」、「車船」這些類都有「跑」的功能,單純類繼承是無法實現的,但用介面可以,首先定義乙個介面「trun」,然後再繼承這個介面形成上述的類,在 類中實現這個介面。
算了,邊給**解釋:
type
trun=inte***ce
procedure 跑;
end;
日本豬=class(tinte***cedobject,trun)
//tinte***cedobject是實現了介面三個方法的object類,其中乙個是queryinte***ce
procedure 跑;
............
//..........
end;
小泉家族=class(tinte***cedobject,trun)
procedure 跑;
............
//..........
end;
implementation
......
//應用:
procedure test;
var牲:日本豬;
倭:小泉家族;
動:trun;
begin
牲:=日本豬.create;
倭:=小泉家族.create;
倭.queryinte***ce(trun,動);
動.跑;//小泉家族類的跑
牲.queryinte***ce(trun,動);
動.跑;//日本豬類的跑
end;
Delphi介面幽默解釋
介面分廣義和狹義之分,很多國內翻譯的書對此誤人非淺。在delphi中,廣義介面除了你要問的介面還包括抽象類 在單元文件前宣告的inte ce等,狹義介面指的是在程式設計中用inte ce定義的。簡單地說狹義介面 以後稱介面 就是定義了方法和屬性的空架子 術語為方法簽名,包括函式和過程 屬性本身也是存...
Delphi 介面筆記
a stringtoguid ichart 和 chart介面各自具有不同的guid根本不相容 a stringtoguid stringtoguid 用於將 字串guid轉換為 tguid guidtostring 用於將tguid轉換為字串guid varsupports 判斷 variant ...
解釋Externalizable介面?
serializable介面為我們的類物件提供自動序列化功能。另一方面,externalizable介面提供了一種實現自定義序列化機制的方法。實現externalizable介面的類負責儲存和還原其自己例項的內容。externalizable介面擴充套件了serializable介面,並提供了兩種方...