国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 乌拉特中旗| 莱州市| 古田县| 湘潭县| 扶风县| 象山县| 讷河市| 崇左市| 区。| 遂川县| 漯河市| 噶尔县| 探索| 安仁县| 夏河县| 蒙自县| 临潭县| 江达县| 射洪县| 海丰县| 荆州市| 镇平县| 望都县| 晋城| 渭源县| 万源市| 伊通| 横峰县| 临城县| 英超| 阿拉善盟| 鄂托克前旗| 杂多县| 寿阳县| 吴桥县| 藁城市| 紫阳县| 应城市| 宁武县| 中方县| 舟曲县|