置頂隨筆

          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 臥龍山 閱讀(4721) | 評論 (0)編輯 收藏

          2008年2月16日

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

          2006年11月7日

          javascript的多根繼承和多層繼承

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

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

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

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

          posted @ 2006-11-07 13:10 臥龍山 閱讀(940) | 評論 (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 臥龍山 閱讀(4721) | 評論 (0)編輯 收藏
          僅列出標題  
           
          主站蜘蛛池模板: 巫山县| 忻城县| 抚州市| 青岛市| 孝义市| 当涂县| 丰城市| 英德市| 浦县| 荆州市| 沛县| 泊头市| 民丰县| 上思县| 寿阳县| 文化| 德庆县| 农安县| 重庆市| 阿拉善盟| 论坛| 商河县| 桂平市| 专栏| 山阴县| 金乡县| 阳西县| 从江县| 广平县| 农安县| 丰城市| 黑龙江省| 苍南县| 罗山县| 顺昌县| 古交市| 宁河县| 通海县| 罗田县| 丹东市| 同心县|