typescript學習(6)---定義介面
阿新 • • 發佈:2019-01-02
1、定義
定義一個介面:
interface Accountable{
getIncome():number;
}
現在來確保Firm類實現了這個介面:
class Firm implements Accountable{
getIncome():number {
//...
}
}
如果實現了一個指定的介面,那麼必須實現這個接口裡面多定義的所有方法,這些方法的實現必須與介面定義裡面的簽名完全一致。
ts介面也支援定義屬性,如我們可以在上述介面中引入一個名為accountNumber的欄位,型別為string:
interface Accountable{ accountNumber: string; getIncome(): number; }
可以在類裡面把accountNumber定義成一個欄位或者一個getter。
2、介面繼承
介面之間可以互相繼承:
interface Firm extends Accountable {
ssn: string;
}
介面還支援多繼承:
interface Accountable { accountNumber: string; getIncome(): number; } interface Human { age: number; name: number; } interface Firm extends Accountable,Human{ ssn: string; }
3、實現多個介面
如果類的行為是很多介面中定義的行為的並集,那麼類可以實現所有這些介面:
class Person implements Human,Accountable {
age: number;
name: string;
accountNumber: string;
getIncome(): number {
//...
}
}