置頂隨筆

          JAVASCRIPT繼承方如此簡單

          ?????? 看了很多的js繼承方式都覺得不是很好,總是覺得不是很方便,用起來也不順。所以一直在查這方面的資料思考這個問題,終于有所收獲。忍不住要貼出來與大家共享,讓大家一起享受javascript繼承的快樂。

          優點:只要聲明一個簡單的函數即可方便使用JAVASCRIPT的繼承,使用方法也只要一行代碼調用繼承方法即可,調用方式非常自然。
          ????????

          下面是示例源代碼:
          ?? <script>
          ??? /**
          ?????? 首先給Object類添加繼承方法extends,
          ?????? 前兩句起繼承父類的作用,使得調用的子類能夠獲得父類的所有屬性和方法
          ?????? 后一句保存對一個對父類的引用,以便在需要的時候可以調用父類的方法
          ?????? 如果不需要使用父類的方法,最后一句可以刪除
          ???????方法名不能為extends,因為IE認為是關鍵字不讓用火狐下是可以的。屬性superClass也不能用super,也是關鍵字。不然看起來就更舒服了(那就太像java了)。
          ??? */
          ??? Object.prototype.extend = function(SuperClass){
          ????? this.SuperClass=SuperClass;
          ????? this.SuperClass();
          ????? this.superClass=new SuperClass();
          ??? }
          ???//下面是示例代碼
          ??? //聲明父類:第一個方法show將得到繼承,第二個方法將被覆蓋
          ??? function SuperClass(){
          ????? this.show=function(){
          ??????? alert('Call SuperClass.show()');
          ????? }
          ????? this.override=function(){
          ??????? alert('Call SuperClass.override() width "superClass.override()"');
          ????? }
          ??? }
          ??? //聲明子類:繼承父類,同時覆蓋了父類的方法override
          ??? function SubClass(){
          ????? //調用繼承方法繼承父類的屬性和方法
          ????? this.extend(SuperClass);
          ????? this.override=function(){
          ??????? alert('I have overrided SuperClass.override method.\nCall SubClass.override()');
          ????? }
          ??? }
          ??? //測試繼承的結果:
          ??? var s=new SubClass();
          ??? s.show(); //將調用父類的方法
          ??? s.override();//將調用子類覆蓋后的方法
          ??? s.superClass.override();//將調用父類的override方法
          ?</script>

          posted @ 2006-11-07 13:09 臥龍山 閱讀(4727) | 評論 (0)編輯 收藏

          2008年2月16日

               摘要: 好的公司一定是做乘法的公司。微軟和Google的不同。比如微軟里的一個工具,可以方便的做出單機,或者局域網環境的好的系統 - 微軟工具的快速開發是被業界稱道的,但是他沒有辦法把自己的數據中心向員工開放,因為,從本質上來說,微軟不是一個圍繞著數據中心起家的公司,微軟的數據中心的成本,也不足以支撐這個體系。  閱讀全文
          posted @ 2008-02-16 15:14 臥龍山 閱讀(213) | 評論 (0)編輯 收藏

          2006年12月12日

               摘要: 多種WEB應用編程常用的語言、標準、框架和程序庫的API查詢網站,用AJAX方式查詢非常不錯。

          目前支持HTML、CSS、JavaScript/HTML DOM、XML、Druapl CMS、PHP、Ruby/Rails、Python、Perl、Marcomedia、C/C++,Libraries、Databases、Java,且將來會支持更多的API。
            閱讀全文
          posted @ 2006-12-12 08:57 臥龍山 閱讀(432) | 評論 (0)編輯 收藏

          2006年11月7日

          javascript的多根繼承和多層繼承

          上篇文章貼出后又想了兩個問題:

          1. 能否支持多根繼承?
          2. 能否支持多層繼承?

          仔細一想,多層繼承上篇文章的代碼已經實現。多根繼承則需要進一步完善extend方法。于是有了下面的代碼,使用方法很簡單。只要一句話可以輕松實現對多個父類的繼承。

          下面是詳細的示例源代碼。歡迎交流,QQ:27234687 。
          讀者可以自行修改后點【測試】按鈕查看輸出結果。

          posted @ 2006-11-07 13:10 臥龍山 閱讀(949) | 評論 (0)編輯 收藏
           

          JAVASCRIPT繼承方如此簡單

          ?????? 看了很多的js繼承方式都覺得不是很好,總是覺得不是很方便,用起來也不順。所以一直在查這方面的資料思考這個問題,終于有所收獲。忍不住要貼出來與大家共享,讓大家一起享受javascript繼承的快樂。

          優點:只要聲明一個簡單的函數即可方便使用JAVASCRIPT的繼承,使用方法也只要一行代碼調用繼承方法即可,調用方式非常自然。
          ????????

          下面是示例源代碼:
          ?? <script>
          ??? /**
          ?????? 首先給Object類添加繼承方法extends,
          ?????? 前兩句起繼承父類的作用,使得調用的子類能夠獲得父類的所有屬性和方法
          ?????? 后一句保存對一個對父類的引用,以便在需要的時候可以調用父類的方法
          ?????? 如果不需要使用父類的方法,最后一句可以刪除
          ???????方法名不能為extends,因為IE認為是關鍵字不讓用火狐下是可以的。屬性superClass也不能用super,也是關鍵字。不然看起來就更舒服了(那就太像java了)。
          ??? */
          ??? Object.prototype.extend = function(SuperClass){
          ????? this.SuperClass=SuperClass;
          ????? this.SuperClass();
          ????? this.superClass=new SuperClass();
          ??? }
          ???//下面是示例代碼
          ??? //聲明父類:第一個方法show將得到繼承,第二個方法將被覆蓋
          ??? function SuperClass(){
          ????? this.show=function(){
          ??????? alert('Call SuperClass.show()');
          ????? }
          ????? this.override=function(){
          ??????? alert('Call SuperClass.override() width "superClass.override()"');
          ????? }
          ??? }
          ??? //聲明子類:繼承父類,同時覆蓋了父類的方法override
          ??? function SubClass(){
          ????? //調用繼承方法繼承父類的屬性和方法
          ????? this.extend(SuperClass);
          ????? this.override=function(){
          ??????? alert('I have overrided SuperClass.override method.\nCall SubClass.override()');
          ????? }
          ??? }
          ??? //測試繼承的結果:
          ??? var s=new SubClass();
          ??? s.show(); //將調用父類的方法
          ??? s.override();//將調用子類覆蓋后的方法
          ??? s.superClass.override();//將調用父類的override方法
          ?</script>

          posted @ 2006-11-07 13:09 臥龍山 閱讀(4727) | 評論 (0)編輯 收藏
          僅列出標題  
           
          主站蜘蛛池模板: 泰兴市| 会宁县| 西盟| 合阳县| 祁东县| 牡丹江市| 玉树县| 天等县| 昌吉市| 芷江| 乌兰察布市| 宁河县| 星座| 延安市| 潮州市| 郓城县| 温州市| 怀安县| 康马县| 宁陵县| 洞头县| 北川| 宜都市| 山西省| 云龙县| 成武县| 微博| 固始县| 西乡县| 临沭县| 嘉义县| 石城县| 太白县| 潞城市| 淮北市| 永福县| 曲松县| 西昌市| 汉中市| 英超| 吉木萨尔县|