一、owner和parent的區別:
parent屬性是指構件的包容器,構件只能在此範圍內顯示和移動。舉例子如下:
(1)在form1的窗體上,放乙個panel1,並將panel1拉大,
(2)在panel1上放一button1;
(3)在form1上放一button2。
現在如果移動panel1,則button1隨著panel1移動,這是因為button1的parent是panel1。現在將button2移到panel1上,再次移動panel1,button2並不跟著移動,這是因為button2的parent是form1。除在窗體設計中,應注意構件的parent是誰外,在動態建立構件時,也應指出構件的parent,如在上例中繼續操作:
1)procedure tform1.button2click(sender:tobjet);
2)var
3) button:tbutton;
4) begin
5) button:tbutton.cerate(self);
6) button.parent=panel1;
7) button.lleft=0;
8) button.top=0;
9) button.caption:='ok';
10) end;
self和sender的區別:
在事件處理程式參數列中,至少含有乙個引數sender,它代表觸發事件處理程式的構件
self是指所編的程式範圍是在哪乙個類中,delphi中大都在窗體範圍內程式設計,因此,self即指窗體,如果在編寫乙個類或是乙個元件,則self指該類或元件。我們在函式或過程的宣告中可看出self是代表哪個元件,即self代表『.』號之前的元件,如在第乙個例子中,self代表tform1。另外應注意,self只能用在類方法中,而不能用在過程或函式中,如下例用法是錯的:function a1(b:integer):integer;
begin
……button:=tbutton.create(self);……
end;
self
在所有物件的方法中都有乙個隱含變數稱為self,self是用來呼叫方法的指向類例項的指標。self
由編譯器作為乙個隱含引數傳遞給方法。
Self和self的區別
所有的trait都定義了乙個隱式的型別self,它指當前實現此介面的型別。rust官方文件當self用作函式的第乙個引數時,它等價於self self。self引數等價於self self。mut self引數等價於self mut self。方法引數中的self是一種語法糖,是方法的接收型別 例如...
self 和 this 的用法
在訪問php類中的成員變數或方法時,如果被引用的變數或者方法被宣告成const 定義常量 或者static 宣告靜態 那麼就必須使用操作符 反之如果被引用的變數或者方法沒有被宣告成const或者static,那麼就必須使用操作符 另外,如果從類的內部訪問const或者static變數或者方法,那麼就...
Swift3 0 Self和self的區別
相信大家都知道self關鍵字的作用,但你知道swift還有個self關鍵字嗎?self關鍵字只能用在類裡,作為函式返回值型別,表示當前類。類定義.png 這段 裡有self和self,self指向類自身 self只能作為函式關鍵字,setvalue函式的返回值是classa型別。我們看到有個warn...