最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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(三)的評論 (共 條)

分享到微博請遵守國家法律
贵定县| 金寨县| 土默特右旗| 阿拉善右旗| 中西区| 深州市| 镇赉县| 札达县| 盱眙县| 鲜城| 寿阳县| 称多县| 五指山市| 汉沽区| 历史| 游戏| 包头市| 昌都县| 洞头县| 民勤县| 诏安县| 巴塘县| 寻甸| 武平县| 荣昌县| 宁武县| 绩溪县| 肥西县| 通江县| 淮南市| 邵东县| 渑池县| 武城县| 刚察县| 莱西市| 崇明县| 兴国县| 商丘市| 通许县| 龙游县| 黎川县|