關於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:是保護的,對於本類族是公開的,其它的類是私有的(即其它的類不可見)