五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

TypeScript 高級語法——Class(三)

2023-08-08 15:48 作者:沒用軟件開發(fā)日記  | 我要投稿


????和interface一樣,類也有泛型機(jī)制,寫法同泛型接口。泛型無法用于靜態(tài)字段、靜態(tài)類,因?yàn)殪o態(tài)資源在類定義時就會被確定下來而不是在實(shí)例化時。

? ? 面向?qū)ο蟮木幊讨幸欢〞嬖诙鄳B(tài)的概念,引用TS官方的例子,這個例子中的“this is Type”作為基礎(chǔ)類型守衛(wèi)存在。以isFile為例this is FileRep守衛(wèi)標(biāo)記了這個函數(shù)中的this為FileRep,以此為前提t(yī)his instanceof FileRep才沒有報(bào)錯。這種機(jī)制讓TS良好的在多態(tài)的環(huán)境下運(yùn)行(這個例子中FileRep、Directory、Networked都是FileSystemObject的子類)。

????在TS中類、方法、字段可以是抽象的,如上例中抽象方法getName是不可以提供具體實(shí)現(xiàn)細(xì)節(jié)的,也就是說他只有函數(shù)簽名;因?yàn)槌橄蠓椒╣etName是類Base內(nèi)的函數(shù)成員所以類Base也必須是抽象的。

????在這個抽象類Base中存在著有具體實(shí)現(xiàn)的printName方法,也就是說抽象類可以類比為具有一部分具體實(shí)現(xiàn)的接口(interface),并且不同于普通的類,抽象類與接口相同不會被轉(zhuǎn)換成JS代碼。從完整性角度來看抽象類缺乏完整的具體實(shí)現(xiàn)所以不可被實(shí)例化、從無法編譯為JS代碼來看抽象類是缺乏運(yùn)行時體現(xiàn)的所以無法被實(shí)例化。

????繼承抽象類的類必須實(shí)現(xiàn)抽象類的抽象部分,上例中Derived為抽象方法getName提供了具體實(shí)現(xiàn)。

? ? 在TS的類型系統(tǒng)中,不同類型之間是可以單向賦值的,前提是被賦值的一方一定是賦值方的子集(Employee類包含所有Person類的組成部分)。

????上例是一個極端的例子fn函數(shù)可以接受任何對象,因?yàn)镋mpty是空對象(是任何對象的子集);

TypeScript 高級語法——Class(三)的評論 (共 條)

分享到微博請遵守國家法律
合作市| 望奎县| 垫江县| 高密市| 台中县| 鄂尔多斯市| 禄丰县| 迁安市| 白玉县| 新乐市| 福州市| 靖西县| 临漳县| 博罗县| 高州市| 唐河县| 宝坻区| 饶平县| 盐边县| 西宁市| 宝兴县| 巴楚县| 洪江市| 冀州市| 商丘市| 隆林| 浑源县| 永善县| 绥阳县| 昌平区| 江安县| 嘉祥县| 迁西县| 金阳县| 庄浪县| 教育| 格尔木市| 北碚区| 盐池县| 庐江县| 陆川县|