nav分隔線 nav分隔線

TypeScript物件導向-介面Interface的使用方式

icon_fb icon_twitter icon_google
TypeScript物件導向-介面Interface的使用方式

文、意如老師

 

 

參考目錄:

1篇:網頁工程師必學-TypeScript初探篇

2篇:JavaScript的型別在TypeScript中應用(一)認識原始資料型別

3篇:JavaScript的型別在TypeScript中應用(二)認識物件型別

4篇:TypeScript物件導向-類別(Class)的使用方式

5篇:TypeScript物件導向-介面(Interface)的使用方式

 

 

 

認識什麼是介面(Interface)?

 

Interface通常被稱作介面或是接口,它主要在與類別(Class)間約定行為,描述有哪些方法與屬性,但不包含怎麼執行。

 

在 TypeScript中主要使用介面(Interfaces)來定義物件的型別。

複習一下在TypeScript宣告變數時需要限定型別

例如:var age: number = 18;

此時age就被number型別限定了,放進age的值就只能是number數字型別。

 

 

 

使用介面設定型別

 

變數中如使用介面此時屬性與型別需要跟介面要求的ㄧ致。

 

 

 

 

 

需要彈性規則可以設定可選屬性加上問號(?)

 

如需要設定彈性一點,讓屬性不用完全一樣時,那就可以使用可選屬性 (?)

用法如下:

 

 

 

 

 

類別與介面

 

通常來說一個類別只能繼承另一個類別,但在不同類別之間仍有一些共同的特性,這時候就可以使用介面(Interface)的規則,使用 implements來實作,

提高了物件導向的靈活性。

 

 

 

 

 

介面繼承介面

 

繼承介面後,除了介面Interface自身的規則外也要符合被繼承的介面規則,範例如下:

 

 

 

 

當介面遇到重複名稱時

 

重複名稱的interface 會自動被合併(merge),範例如下:

 

 

 

 

唯獨屬性-readonly

 

如果將屬性設定為唯讀readonly,代表只能在建立時賦予它值,無法後續再更新值。

 

 

 

 

結論

 

比起在類別中直接指定參數,不如使用Interface來幫我們規範方法與屬性,讓工程師們可以更安心使用也讓後續程式更加容易維護。

 

 

 

Photo credit:Pexels

 

 

 

 

 

FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan

痞客邦Blog:http://lccnetvip.pixnet.net/blog

本網站使用相關網站技術以確保使用者獲得最佳體驗,通過使用我們的網站,您確認並同意本網站的隱私權政策。欲了解詳情,請參閱 隱私權政策