VCL中一些物件導向程式設計語言的設計手法

2021-06-08 06:06:35 字數 600 閱讀 3807

1.抽象類方法

抽象類方法:使用抽象類類定義父代服務類,然後再開發派生類來改寫(override)父代抽象類提供的實現服務,代表:c/c++ framework.

使用介面來代替抽象類:代表object pascal;

2.佔位法(place hold):父類的一些虛擬方法被實現為空白的函式而不宣告為抽象方法,

代表:vcl framwork  tcanvas.creathandle;

3.逐漸增加法:代表vcl framwork中 tcontrol的建構函式就使用了逐漸增加法,在使用了inherited關鍵字嗲用父類的建構函式之後,派生類才開始加入自定義的實現程式**。

4三明治手法;代表tcontrol的readstate便使用了三明治設計手法,在tcontrol物件中需要先定義csreadingstate狀態,才能使用inherited呼叫父代的實現。

5.覆寫父類實現法

vcl framework中有數種不同的覆寫方式,派生類中完全重新宣告方法而隱藏了父代的實現,這個覆寫方式會由delphi的編譯器產生警告資訊。另一種覆寫方式 

6.bootstrap設計法

代表:vcl 中 tcanvas和tcontrolcanvas;

OOP 物件導向程式設計 的一些特性

介面 介面是把公共例項 非靜態 方法和屬性結合起來,以封裝特定功能的乙個集合。一旦定義了介面,就可以在類中實現它。介面注意事項 介面不能單獨存在。不能像例項化乙個類那樣例項化介面。另外,介面不能包含實現其成員的任何 而只能定義成員本身。實現過程必須在實現介面的類中完成。乙個類可以支援多個介面,多個類...

Ruby 物件導向程式設計的一些高階應用

1.send的用法 在ruby中可以在執行時,來決定那個物件被呼叫,send方法就是做這個的,他接受乙個symbol變數為引數。首先來個非常非常的簡單的例子 class foo def foo aa endendputs foo.new.send foo 當然也可以使用send方法,不過為了和可能出...

物件導向的一些法則

物件導向的一些法則 法則1 優先使用 物件 組合,而非繼承 組合是一種通過建立乙個組合了其它物件的物件,從而獲得新功能的復用方 法有些時候也稱之為 聚合 aggregation 或 包容 containment 聚合 乙個物件擁有另乙個物件或對另乙個物件負責 即乙個物件包含另乙個物件或是另乙個物件的...