沙漠中的魚

          欲上天堂,先下地獄
          posts - 0, comments - 56, trackbacks - 0, articles - 119
            BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          JavaScript中基于類的繼承

          Posted on 2008-04-24 14:21 沙漠中的魚 閱讀(242) 評論(0)  編輯  收藏 所屬分類: javascript

          JavaScript中基于prototype的繼承機制可以很好地工作,但是對于一些已經習慣于C++和Java等語言中基于類的繼承機制的人來說,JavaScript的prototype繼承機制不是一種自然的編程方法。如果你不想用基于prototype的繼承,而想用一種基于類的繼承方法,那就繼續讀下去吧。
          Netscape的Bob Clary[4]也提出了一個方法,它可以使一個對象使用一個通用的腳本從另一個對象繼承屬性和函數。這個腳本只是將“父”對象的屬性和函數簡單地復制到“子”對象。為此,我們將說明如何對腳本稍加修改,從而只是將子對象中不存在的屬性和函數復制到子對象;這樣一來,子對象中的函數就能覆蓋父對象的函數。在兩個對象之間創建繼承關系的通用函數如下:
          function createInheritance(parent, child) {
              var property;
              for(property in parent) {
                  if(!child[property]) {
                      child[property] = parent[property];
                  }
              }
          }
          createInheritance函數有兩個參數,父對象和子對象。這個函數只是迭代處理父對象的所有成員(成員就是屬性或函數),如果某個成員在子對象中不存在,則復制到子對象。
          使用createInheritance函數相當簡單:首先創建子對象的一個實例,然后使用createInheritance函數,為它傳遞子對象以及父對象的一個實例,如下:
          var child = new Child();
          createInheritance(new Parent(), child);
          父對象中有而子對象中沒有的所有屬性和方法將復制到子對象。

          引用:http://book.csdn.net/bookfiles/11/100117056.shtml

          主站蜘蛛池模板: 鹤岗市| 汨罗市| 永德县| 鄂伦春自治旗| 荥经县| 普格县| 临朐县| 云浮市| 宁河县| 正定县| 萝北县| 曲阜市| 于都县| 云阳县| 神农架林区| 赤城县| 塔城市| 布尔津县| 中江县| 日照市| 图们市| 共和县| 耒阳市| 兴安盟| 恭城| 云浮市| 大名县| 嘉祥县| 曲水县| 武安市| 竹溪县| 伽师县| 淮安市| 唐河县| 高阳县| 承德县| 义乌市| 济阳县| 登封市| 炎陵县| 获嘉县|