国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript 繼承 封裝 多態(tài)實(shí)現(xiàn)及原理詳解

2024-05-06 15:36:27
字體:
供稿:網(wǎng)友

面向?qū)ο蟮娜筇匦?br />

封裝

所謂封裝,也就是把客觀事物封裝成抽象的類,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對象操作,對不可信的進(jìn)行信息隱藏。封裝是面向?qū)ο蟮奶卣髦唬菍ο蠛皖惛拍畹闹饕匦浴?簡單的說,一個(gè)類就是一個(gè)封裝了數(shù)據(jù)以及操作這些數(shù)據(jù)的代碼的邏輯實(shí)體。在一個(gè)對象內(nèi)部,某些代碼或某些數(shù)據(jù)可以是私有的,不能被外界訪問。通過這種方式,對象對內(nèi)部數(shù)據(jù)提供了不同級別的保護(hù),以防止程序中無關(guān)的部分意外的改變或錯(cuò)誤的使用了對象的私有部分。

我們在vue項(xiàng)目中使用混入將公有代碼提出來,混入到每個(gè)需要的組件中,讓我們的代碼更簡潔

我們也可以將一些公用的方法,工具進(jìn)行封裝,達(dá)到代碼復(fù)用,讓我們的代碼更簡潔

繼承

所謂繼承是指可以讓某個(gè)類型的對象獲得另一個(gè)類型的對象的屬性的方法。它支持按級分類的概念。繼承是指這樣一種能力:它可以使用現(xiàn)有類的所有功能,并在無需重新編寫原來的類的情況下對這些功能進(jìn)行擴(kuò)展。 通過繼承創(chuàng)建的新類稱為“子類”或“派生類”,被繼承的類稱為“基類”、“父類”或“超類”。繼承的過程,就是從一般到特殊的過程。要實(shí)現(xiàn)繼承,可以通過“繼承”(Inheritance)和“組合”(Composition)來實(shí)現(xiàn)。繼承概念的實(shí)現(xiàn)方式有二類:實(shí)現(xiàn)繼承與接口繼承。實(shí)現(xiàn)繼承是指直接使用基類的屬性和方法而無需額外編碼的能力;接口繼承是指僅使用屬性和方法的名稱、但是子類必須提供實(shí)現(xiàn)的能力;

實(shí)現(xiàn)繼承的幾種方式

call繼承

function a (){    this.c=111  }  function b(){    a.call(this)  }  let d = new b()  console.log(d.c) // 111

上面代碼相當(dāng)于函數(shù)b繼承了函數(shù)a的私有屬性,通過改變父類的this實(shí)現(xiàn)繼承

原型繼承

 function a (){    this.c=111  }  a.prototype.getName=function(){    return '你好'  }  function b(){    // a.call(this)  }  b.prototype=new a()  b.constructor=b  let d = new b()  console.log(d.c) // 111  console.log(d.getName()) // 你好

原型繼承通過將父類的實(shí)例賦值給子類的原型,這種方法子類可以繼承父類的私有方法也可以繼承父類的私有方法

寄生組合繼承

 function a (){    this.c=111  }  a.prototype.getName=function(){    return '你好'  }  function b(){    a.call(this)  }  b.prototype=Object.create(a.prototype)  let d = new b()  console.log(d.c) // 111  console.log(d.getName()) // 你好

寄生組合繼承就是使用call繼承改變this,實(shí)現(xiàn)私有繼承私有,使用object.create實(shí)現(xiàn)公有繼承公有

es6 extends 繼承

class parent{    constructor(){      this.a=1    }    name(){      return 2    }  }  class child extends parent{      }  let A = new child()  console.log(A.a) // 1  console.log(A.name()) // 2            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 林州市| 长宁县| 诸暨市| 焦作市| 岢岚县| 越西县| 延寿县| 交城县| 宁化县| 廉江市| 阳城县| 响水县| 平阳县| 黑山县| 方正县| 鲁甸县| 达州市| 扎兰屯市| 锡林郭勒盟| 乌什县| 南溪县| 武山县| 耒阳市| 旬阳县| 子洲县| 云龙县| 大宁县| 酒泉市| 韩城市| 岑溪市| 潜江市| 商城县| 临海市| 罗山县| 石嘴山市| 山东省| 巴东县| 湛江市| 遵义县| 乐至县| 达州市|