欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

typescript中接口與類的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下typescript中接口與類的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)建站主營峨邊彝族網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),峨邊彝族h5小程序定制開發(fā)搭建,峨邊彝族網(wǎng)站營銷推廣歡迎峨邊彝族等地區(qū)企業(yè)咨詢

為了簡便,把typescript簡寫為ts

接口Interface

可能有些同學(xué)對于接口比較陌生,在弱類型語言的語言層面很難看到它的蹤影,不像強類型語言,語言層面就考慮到了。但在ts世界里,我們就可以看到它的蹤影了,說白了,它只負(fù)責(zé)定義,說明你的對象里面有些什么,也就是結(jié)構(gòu),當(dāng)然,它就不能夠被實例化了。

定義

那么,該如何定義接口呢,當(dāng)然是使用關(guān)鍵字interface

interface IA {
    name: string
}

以上聲明了接口IA,有個屬性name,為字符串型
這樣,我們就可以給一個變量聲明IA類型并賦值初值

var a: IA = {
    name: 'hello'
}

繼承

接口也是可以繼承的,假如你有個IB接口也包含IA的結(jié)構(gòu),就可以簡單的繼承它,并擴展自己的屬性

interface IB extends IA {
    id: number
}

類與接口類似,但它除了定義外,還有實現(xiàn),如給變量賦值,它是可以實例化的

定義

定義的關(guān)鍵字是class,相信熟悉es6的同學(xué)已經(jīng)早就用的習(xí)以為常了

class A {
    a: string = 'xxxxx'
}

以上定義了類A,它有個字符串類型a,同時給它賦了初值xxxxx,這樣我們可以像下面這樣用,實例化它,并可以引用屬性a

var a = new A()
console.log(a.a)

當(dāng)然我們也可以修改屬性a

共有,私有,受保護等成員訪問修飾符

屬性有訪問權(quán)限之分,哪些成員可以訪問,誰可以訪問

public 也就是誰都可以訪問

private 只有內(nèi)部成員可以訪問,說白了,就是自帶的函數(shù)可以訪問

protected 受保護的,除了自己,繼承了該類的都可以訪問

以上關(guān)鍵字一般加在屬性前面,不加的話,就是public

所謂成員,不要僅限于屬性,還包括方法,也叫函數(shù),但是在類中一般都叫方法

class A {
    public a = 'a'
    private b = 'b'
    protected c = 'c'
}

注意,以上聲明的時候沒有給屬性指定類型,這是合法的,因為可以根據(jù)后邊的初值推斷出相應(yīng)的類型

構(gòu)造函數(shù)

說到了類,自然是少不了構(gòu)造函數(shù),這個函數(shù)比較特別,是在實例化的時候調(diào)用的,也就是new的時候;強類型語言中一般都是以類名來命名的一個函數(shù),ts中是以constructor來定義和實現(xiàn)的,當(dāng)然嚴(yán)格來說,是js中是這樣規(guī)定的。
其實構(gòu)造函數(shù)跟普通函數(shù)沒什么區(qū)別,可以有參數(shù),函數(shù)體里面就是實現(xiàn),可以給屬性賦初值等操作,改寫以上A,把給a
即使你定義任何構(gòu)造函數(shù),也會有一個默認(rèn)構(gòu)造函數(shù)的,只是它什么都沒干

class A {
    a: string
    constructor(arg: string) {
        this.a = arg
    }
}

在ts中,構(gòu)造函數(shù)還有個神奇的功能,那就是在構(gòu)造函數(shù)參數(shù)中定義和賦初值,不用在類中重復(fù)聲明,在構(gòu)造函數(shù)中賦初值,如下

class A {
    constructor(public a: string)
}

上面我們就定義了A中的一個字符串屬性a,把構(gòu)造函數(shù)的第一個參數(shù)賦值給它

繼承

跟接口類似,類繼承也是用關(guān)鍵字extends

class B extends A {
    d: number = 1
}

實現(xiàn)接口

類不僅可以繼承已有類,還可以實現(xiàn)接口,要注意的是,接口中的屬性,類中必須有相應(yīng)的實現(xiàn)
實現(xiàn)的關(guān)鍵字是implements

class C implements IA {
    name = 'c'
}

當(dāng)然你可以實現(xiàn)和繼承同時用,也是沒問題的

class D extends A implements IA {
    name = 'd'
}

靜態(tài)成員

普通成員在每個實例中是單獨存在的,而靜態(tài)成員是在類中共享的,也就是只有一份,靜態(tài)成員聲明的方式是使用關(guān)鍵字static

class A {
    static sa = 'nnnn'
}

以上我們就聲明了一個字符串屬性sa,并賦初值nnnn,當(dāng)需要訪問的時候,只要像下面調(diào)用就好了

A.sa

關(guān)于接口與類的東西還挺多的,由于篇幅有限,先到此處吧,更多內(nèi)容,以后在講

看完了這篇文章,相信你對“typescript中接口與類的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:typescript中接口與類的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://chinadenli.net/article32/cohcsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站全網(wǎng)營銷推廣網(wǎng)站建設(shè)電子商務(wù)營銷型網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)