調用父類方法,爲了在JavaScript中模仿古典,類似Java的類我有一個名爲 「createClass」功能方便的方法:的Javascript,從覆蓋方法
它有3個參數:
*名稱以及應該創建的構造函數的路徑。
*超類的路徑。 *使用類的方法的JavaScript對象。
例如:
myApp.createClass("myapp.core.JString", "myapp.core.BaseString", {
abc: function() {
...
首先,我創建一個構造函數
Cf = function() {
...
如果有一個超類( 「基地」 是父類的構造函數):
protoObj = new Base();
protoObj.constructor = Cf;
現在,按照新課程的方法,我把它們放在protoObj上:
(「PROTOS」與「類」方法的對象)
for (name in protos) {
????????????????????
protoObj[name] = protos[name]
但把方法給protoObj之前,我想爲 調用從覆蓋方法超類方法創造便利方法:
init: function() {
this.jstring_super_init();
...
所以,這裏的問號是,我希望把下面的代碼: (classnameLast在這種情況下「的jstring」類路徑=>小寫=>最後一部分)
if ((typeof protos[name] === "function") &&
(protoObj[name]) &&
(typeof protoObj[name] === "function")) {
supername = classnameLast + "_super_" + name;
protoObj[supername] = XXXXXXXXXXXXX
在多個X所在的地方,我嘗試了幾件事,但沒有成功。它應該調用被覆蓋的超類的方法。
提前感謝您的幫助
超級方法應該調用什麼代碼? – Bergi 2013-03-06 10:32:32