首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 元件開發:存取層級控制與介面設計原則

     編輯:Delphi

19.2.1.5 面向對象技術在元件編寫中的應用

1. 建立元件

使用者操作實例,編寫者建立新類型。建立新元件兩大動機:

  • 改變預設值避免重複設定
  • 增加新功能

核心目標:建立可重用物件。預先規劃設計可節省大量未來維護成本。若發現重複設定相同屬性或呼叫相同方法,即應封裝為新元件。繼承現有元件(如 TListBox)或抽象基類(TComponent、TControl)均可,但無法移除祖先屬性,若需隱藏則從更高層祖先繼承。

2. 控制元件存取層級

Object Pascal 提供四層存取控制,定義元件介面:

層級用途
private隱藏實作細節
protected定義開發者介面(衍生類別可見)
public定義執行期介面
published定義設計期介面(含 RTTI)

所有層級在單元範圍生效。未指定者預設為 published。

⑴ 隱藏實作細節 (private)

單元外代碼不可存取,單元內如 public 可見。修改實作不影響使用者代碼。範例:TSecretForm.FSecretCode 於外部單元存取將編譯錯誤。

⑵ 定義開發者介面 (protected)

單元外不可見,但衍生類別單元可存取。允許元件編寫者修改內部行為而不暴露給使用者。

⑶ 定義執行期介面 (public)

任意代碼可存取。適用於設計時無意義項目(唯讀屬性、依賴執行期資訊的方法)。範例:TempCelsius(讀欄位)、TempFahrenheit(讀函數轉換)均為 public 唯讀屬性。

⑷ 定義設計期介面 (published)

屬於 public 且產生 RTTI。只有 published 屬性出現在物件檢視器。定義使用者欲於設計期客製化的特徵。範例:Temperature 屬性可讀寫、可見於設計期。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved