TypeScript class類相容
TypeScript類和介面的相容性非常類似,但是類分例項部分和靜態部分。
比較兩個類型別資料時,只有例項成員會被比較,靜態成員和建構函式不會比較。
程式碼例項如下:
[typescript] 純文字檢視 複製程式碼class Antzone { webName: string; constructor(address: string, age: number) { } } class Other { webName: string; constructor(age: number) { } } let ant: Antzone=new Antzone("青島市南區",4); let other: Other; other = ant; //賦值成功
賦值成功,反過來也是如此,建構函式是否相容不會影響。再來看一段程式碼例項:
[typescript] 純文字檢視 複製程式碼class Antzone { webName: string; constructor(address: string, age: number) { } } class Other { webName: string; target:string; constructor(age: number) { } } let ant: Antzone=new Antzone("青島市南區",4); let other: Other; other = ant; //賦值報錯
因為Other中的所有例項成員必須在Antzone中找到對應的成員。
類私有成員問題:
私有成員會影響相容性判斷,如果目標型別包含一個私有成員,那麼源型別必須包含來自同一個類的這個私有成員。
允許子類賦值給父類,但是不能賦值給其它有同樣型別的類。
關於私有成員可以參閱TypeScript 類訪問修飾符一章節。
[typescript] 純文字檢視 複製程式碼class Antzone { webName: string; constructor(address: string, age: number) { } } class Other { private webName: string; constructor(age: number) { } } let ant: Antzone=new Antzone("青島市南區",4); let other: Other; other = ant; //賦值報錯
由於是Other中的webName是私有成員,所以會報錯。
相關文章
- TypeScript class 類介紹TypeScript
- TypeScript學習筆記之五類(Class)TypeScript筆記
- Typescript的interface、class和abstract classTypeScript
- TypeScript 編譯 classTypeScript編譯
- TypeScript 之 Class(上)TypeScript
- TypeScript 之 Class(下)TypeScript
- TypeScript 型別相容TypeScript型別
- TypeScript 泛型相容TypeScript泛型
- TypeScript 函式相容TypeScript函式
- TypeScript 裡的 class fieldTypeScript
- JavaScript 和 TypeScript 中的 classJavaScriptTypeScript
- 被迫開始學習Typescript —— classTypeScript
- JavaScript class 類JavaScript
- JavaScript:類(class)JavaScript
- 如何使用 vue + typescript 編寫頁面 (typescript進階-相容篇)VueTypeScript
- React — Class類元件React元件
- TypeScript abstract 抽象類TypeScript抽象
- Java Class類詳解Java
- java反射之Class類Java反射
- PHP 中的類(class)PHP
- 類定義(class definition)
- TypeScript 介面繼承類TypeScript繼承
- TypeScript學習(三)—— 類TypeScript
- TypeScript 類實現介面TypeScript
- [譯]Typescript : 類 vs 介面TypeScript
- CSS class 類選擇器CSS
- 瞭解下C# 類(Class)C#
- 封裝獲取Class類封裝
- Class類檔案結構
- 理解java.lang.Class類Java
- TypeScript 類靜態屬性TypeScript
- typescript探索(二)- 介面與類TypeScript
- TypeScript介面與類的使用TypeScript
- 反射+Class類方法_利用反射分析類的能力反射
- Kotlin Vocabulary | 密封類 sealed classKotlin
- 【JVM】深入解析class類檔案JVM
- javascript刪除class樣式類JavaScript
- JAVA Class類檔案結構Java