五月天青色头像情侣网名,国产亚洲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(三)的評論 (共 條)

分享到微博請遵守國家法律
阿拉善右旗| 武隆县| 林西县| 高密市| 太仆寺旗| 卢氏县| 昌黎县| 大同县| 商都县| 额济纳旗| 鄂州市| 冕宁县| 远安县| 新安县| 固镇县| 临江市| 大同县| 孟津县| 芜湖县| 元阳县| 庆云县| 桑日县| 大冶市| 巩义市| 阿拉善盟| 虞城县| 乐平市| 灵寿县| 浪卡子县| 渑池县| 文安县| 纳雍县| 本溪市| 金门县| 朝阳区| 柳州市| 岢岚县| 重庆市| 霍州市| 津市市| 密云县|