摘要:聲明一個(gè)類對(duì)象這個(gè)方法內(nèi)定義的方法和屬性是實(shí)例化對(duì)象自己的,不共享外定義的方法和屬性是所有實(shí)例對(duì)象共享可以調(diào)用的關(guān)鍵字代表對(duì)象的實(shí)例對(duì)象控制臺(tái)輸出這里聲明一個(gè)類,來(lái)繼承類的屬性和方法關(guān)鍵字,用來(lái)指定父類的實(shí)例對(duì)象輸出
class聲明一個(gè)animal類(對(duì)象):
class Animal{ constructor(){//這個(gè)constructor方法內(nèi)定義的方法和屬性是實(shí)例化對(duì)象自己的,不共享;construstor外定義的方法和屬性是所有實(shí)例對(duì)象(共享)可以調(diào)用的 this.type = "animal" //this關(guān)鍵字代表Animal對(duì)象的實(shí)例對(duì)象 } says(say){ console.log(this.type+" says " +say); } } let animal = new Animal(); animal.says("hello");//控制臺(tái)輸出‘a(chǎn)nimal says hello’
這里聲明一個(gè)Cat類,來(lái)繼承Animal類的屬性和方法
class Cat extends Animal(){ constructor(){ super();//super關(guān)鍵字,用來(lái)指定父類的實(shí)例對(duì)象 this.type = "cat"; } } let cat = new Cat(); cat.says("hello");//輸出‘cat says hello’
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101948.html
摘要:生成的類的原型會(huì)被自動(dòng)調(diào)整,而你還能調(diào)用方法來(lái)訪問(wèn)基類的構(gòu)造器。唯一能避免調(diào)用的辦法,是從類構(gòu)造器中返回一個(gè)對(duì)象。 起源 JS 從創(chuàng)建之初就不支持類,也沒(méi)有把類繼承作為定義相似對(duì)象以及關(guān)聯(lián)對(duì)象的主要方式,這讓不少開(kāi)發(fā)者感到困惑。而從 ES1 誕生之前直到ES5 時(shí)期,很多庫(kù)都創(chuàng)建了一些工具,讓 JS 顯得貌似能支持類。盡管一些 JS 開(kāi)發(fā)者強(qiáng)烈認(rèn)為這門語(yǔ)言不需要類,但為處理類而創(chuàng)建的代...
摘要:新建一個(gè)類該函數(shù)返回一個(gè)類的實(shí)例給函數(shù)傳入通過(guò)立即調(diào)用類構(gòu)造函數(shù)可以創(chuàng)建單例。派生類是指繼承自其它類的新類。在構(gòu)造函數(shù)中訪問(wèn)之前要調(diào)用,負(fù)責(zé)初始化。在構(gòu)造函數(shù)中使用通常表示當(dāng)前的構(gòu)造函數(shù)名。 ES5中的近類結(jié)構(gòu) ES5以及之前的版本,沒(méi)有類的概念,但是聰明的JavaScript開(kāi)發(fā)者,為了實(shí)現(xiàn)面向?qū)ο?,?chuàng)建了特殊的近類結(jié)構(gòu)。 ES5中創(chuàng)建類的方法:新建一個(gè)構(gòu)造函數(shù),定義一個(gè)方法并且賦值...
摘要:新建一個(gè)類該函數(shù)返回一個(gè)類的實(shí)例給函數(shù)傳入通過(guò)立即調(diào)用類構(gòu)造函數(shù)可以創(chuàng)建單例。派生類是指繼承自其它類的新類。在構(gòu)造函數(shù)中訪問(wèn)之前要調(diào)用,負(fù)責(zé)初始化。在構(gòu)造函數(shù)中使用通常表示當(dāng)前的構(gòu)造函數(shù)名。 ES5中的近類結(jié)構(gòu) ES5以及之前的版本,沒(méi)有類的概念,但是聰明的JavaScript開(kāi)發(fā)者,為了實(shí)現(xiàn)面向?qū)ο?,?chuàng)建了特殊的近類結(jié)構(gòu)。 ES5中創(chuàng)建類的方法:新建一個(gè)構(gòu)造函數(shù),定義一個(gè)方法并且賦值...
摘要:創(chuàng)建自定義類型看下面一段代碼上面代碼使用創(chuàng)建了一個(gè)自定義類型,是這個(gè)類的構(gòu)造器,是類的公共方法。注意事項(xiàng)在使用類繼承的實(shí)現(xiàn)中,需要注意的點(diǎn)是如果子類沒(méi)有重寫方法,默認(rèn)會(huì)調(diào)用父類的構(gòu)造器方法。 es6 類-class 與大多正規(guī)的面向?qū)ο缶幊陶Z(yǔ)言不同(比如java),js在創(chuàng)建之初就不支持類。js的面向?qū)ο缶幊虒?shí)現(xiàn)方式是通過(guò)構(gòu)造函數(shù)和原型來(lái)實(shí)現(xiàn)的。 我之前以為es6引入類的概念將會(huì)帶給這...
摘要:眾所周知,是一門面向?qū)ο蟮恼Z(yǔ)言,如果說(shuō)針對(duì)面向?qū)ο髞?lái)發(fā)問(wèn)的話,我會(huì)想到兩個(gè)問(wèn)題,在中,類與實(shí)例對(duì)象是如何創(chuàng)建的,類與實(shí)例對(duì)象又是如何實(shí)現(xiàn)繼承的。但是在中是指向的,因?yàn)槊恳粋€(gè)構(gòu)造函數(shù)其實(shí)都是這個(gè)對(duì)象構(gòu)造的,中子類的指向父類可以實(shí)現(xiàn)屬性的繼承。 眾所周知,Javascript是一門面向?qū)ο蟮恼Z(yǔ)言,如果說(shuō)針對(duì)面向?qū)ο髞?lái)發(fā)問(wèn)的話,我會(huì)想到兩個(gè)問(wèn)題,在js中,類與實(shí)例對(duì)象是如何創(chuàng)建的,類與實(shí)例對(duì)...
閱讀 3301·2021-10-11 10:59
閱讀 2863·2021-10-11 10:58
閱讀 2276·2021-09-04 16:45
閱讀 2759·2019-08-30 15:44
閱讀 703·2019-08-30 15:44
閱讀 3225·2019-08-30 10:51
閱讀 1621·2019-08-29 18:46
閱讀 2781·2019-08-29 13:57