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 {
//...
}
}