自從學習ext以來就一直感覺很混亂,特別是 this啊 var啊 類和函式的區別啊.感覺都是差不多的東西.今天在網上搜搜了一整天 整理了一點.
this和var 的文章已經發過了,這裡只是討論繼承.
1.繼承,子類呼叫父類的建構函式
subclass.spuperclass.constructor.call(this,config || {});
注意:subclass要註冊supperclass屬性,subclass.superclass=supperclass.prototype;
另外ext還增加原型的supclass屬性,使用閉包,改變this的作用域,在ext.extend中
sb.superclass=spp;
sbp.superclass = sbp.supr = (function());
ext的繼承:
(1)沒有指定子類,其prototype屬性的constructor為呼叫父類的建構函式
var myclass=ext.extend(supclass,)
(2)指定constructor函式來完成子類的構造器
var myclass=ext.extend(supclass,,/*一些增加的方法*/})
(3)子類採用自身的構建函式
var myclass=function(config)
);2.註冊,監聽,執行事件
this.addevents('nodeclick');//在建構函式內,addevents是ext方法
this.inittreeevent();//監聽方法,。。自我實現
this.fireevent('nodeclick',node.attributes);
addlistener : function(eventname, fn, scope, o)
}} else
ce.addlistener(fn, scope, typeof o == 'object' ? o : {});}},
removelistener : function(eventname, fn, scope)
},3.閉包
內層函式用到外層的變數,並且外層變數不會**,而且其他地方訪問不到id變數
uniqueid=(function();
})();
4.stirng,
使用string類的方法
vari,len,
dsc
=string
(dir
).touppercase
()==
'desc'?-
1:1,
ruby類繼承中的方法繼承
c class a class b a 這段程式的輸出結果是ab 結果都不陌生,把這段程式用ruby重寫 ruby class a def initialize puts a endend class b a def initialize puts b endend 這段程式的輸出是b,並非我想像中...
OC 中類的繼承
繼承的思想 繼承 當多個類出現部分相同的例項變數和方法時,就考慮用繼承.繼承的使用 將多個類中相同的部分的例項變數的方法提出來,寫成乙個公共的父類.繼承 子類繼承父類會將裡面所有除了宣告為 private的例項變數,以及私有方法之外,其餘內容都會被繼承.所以如果子類中有和父類同樣的內容,可以全部刪除...
quick lua中的類繼承
quickcocos 中讓 lua有了 繼承 的能力,看起來更像oo語言了 通過測試,發現其基類的成員變數和成員函式都可以被很好的繼承下來 例子 基類 local base class base function base ctor print base.ctor self.m 0 endfunct...