delphi的Public,Private,Protected,Published作用域【轉】


關於Class里的成員:
1.Public,
2.Private,
3.Protected,
4.Published,
以上四個class 的成員指令,它們的功用是什么??要怎么用和什么時候輸入?怎樣用?
和C++是差不多的、可見性不同、比較容易弄混的就是private和protected了、protected是只有自己和子類可見、private是同單元可見

1.private用於聲明對象方法和字段具有有限的可見性,在申明類的單元外這個類不能被訪問;。
2.protected 用於表示對象方法和字段具有有限的可見性,只能被當前的類和他的子類訪問,只用同一個單元中的類,子類和任何代碼可以訪問protected成員;
3.public 用於表示可以被程序代碼中的任意部分訪問的數據和對象方法.
4.Published是發布的,發布的屬性可以在屬性列表中看到

Private: 私有的,只能自己使用或者是同一單元的子類使用,實例不可使用
Protected,保護的,自己和子類均可使用,實例不可訪問的
Public,公共的,具體實例可以訪問和使用
Published,發布的,主要是針對元件定義的類型,可以在屬性列表中可見,使用同Public

 

public和published差不多,區別僅在於Published的成員可以被Delphi開發環境的Object   Inspector所顯示,因此一般將屬性或事件聲明於Published段

public   和published都是公有的,published又稱發行成員,是說他定義的變量能在設計期訪問,也就是在Object   Inspector中顯示可供設計期修改.

一般來說,你拖放到窗體上的控件的代碼申明,控件的事件代碼的申明都是在Pubished里面,自己申明的東西不要放在Published下面。

我補充一下:  
      published:  
            對象的這一部分將產生運行期類型信息(RTTI),  
            並使程序的其他部分能訪問這部分,  
            object   inspector   用RTTI   來產生屬性的列表.

private:只有自己類中的函數或友類中的函數可以訪問private級別的數據,不允許類的對象和其子類訪問
翻譯后意思也不一樣!  
  私有  
  公用  
  保護  
  發布

DELPHI初始化元件的屬性時,是按published的順序來的。因此,如果屬性之間存在依賴(比如某屬性的Get和Set方法會引用另外的屬性),那么請根據依賴關系來編寫published中的順序。否則,可能在屬性初始化時出錯。
public:是公共的,允許任何函數,類,對象訪問,一般來說操作private數據的函數定義成public級別,提供對象與外部的接口;
protected:是保護的,對於本類族是公開的,其它的類是私有的(即其它的類不可見)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM