摘要:Javascript物件導向筆記
物件導向的思維是讓我想踏入程式設計的主要原因,為了追求物件導向的程式設計方法,讓我花了不少時間去研究,
最後,我進入了這個世界,得到了一點點這樣的感覺,
不過這也讓我回不了原本的程式設計方法了,也變得不容易看懂不是物件導向設計的程式碼,
Javascript這個語言在設計網頁程式的時候是相當重要的語言,善用這個語言可以加強網頁讓使用者操作的順暢感,
最近所要開發的程式就在這語言上佔了不少的比重,
Javascript可以模擬出相當程度的物件導向概念,不過需要了解這個語言的一些特性,
我花了一些時間去了解,雖然可以實現一些OO的特性,不過總是要花些時間才能做出來@@
這個實在是因為現在OpenSource的Javascript函式庫太好用了,大部分的時間是不需要自己來設計這方面的程式,
只要會用就行,因此,常常在需要使用的時候就已經忘了方法了@@
整理一下所需要用到的一些特性,
javascript目前沒有class需要使用function來代替,
另外定義一個類別的方法,感覺jQuery的定義法蠻好用的,
(function(){
window.類別名稱 = function(){ .....};
})();
這樣的話不需要宣告變數什麼的就能把類別定義起來。
在寫的過程中,發現成員變數需要定義在類別定義的function中,要不然不同個體會互相干擾,
像
window.類別名稱 = function(){
this.成員;
}
成員方法則定義在prototype中,
(function(){
window.類別名稱 = function() {.....};
window.類別名稱.prototype = {
方法名稱: function() {.......}
};
})();
如果要定義型別方法則是,
(function(){
window.類別名稱 = function() {.....};
window.類別名稱.靜態方法 = function() {.....};
})();
想到一個作法來模擬屬性,不知道這樣用起來順不順手,
window.類別名稱 = function(){
var m_成員;
this.屬性 = { getValue: function(){ return m_成員; }, setValue: function(value) { m_成員 = value; } };
}
Javascript 2.0好像已經Release了,如果瀏覽器有實作,就有直接的方式來玩Javascript OO了,
真希望這時代快點到來@@