Typescript:類和接口

類和接口

接口(Interfaces)能夠用於對「對象的形狀(Shape)」進行描述。這一章主要介紹接口的另外一個用途,對類的一部分行爲進行抽象。code

類實現接口

實現(implements)是面向對象中的一個重要概念。通常來說,一個類只能繼承自另外一個類,有時候不一樣類之間能夠有一些共有的特性,這時候就能夠把特性提取成接口(interfaces),用 implements 關鍵字來實現。這個特性大大提升了面向對象的靈活性。對象

舉例來講,門是一個類,防盜門是門的子類。若是防盜門有一個報警器的功能,咱們能夠簡單的給防盜門添加一個報警方法。這時候若是有另外一個類,車,也有報警器的功能,就能夠考慮把報警器提取出來,做爲一個接口,防盜門和車都去實現它:繼承

interface Alarm {
  alert();
}

class Door {
}

class SecurityDoor extends Door implements Alarm {
  alert() {
    console.log('SecurityDoor alert');
  }
}

class Car implements Alarm {
  alert() {
    console.log('Car alert');
  }
}

一個類能夠實現多個接口:接口

interface Alarm {
  alert();
}

interface Light {
  lightOn();
  lightOff();
}

class Car implements Alarm, Light {
  alert() {
    console.log('Car alert');
  }
  lightOn() {
    console.log('Car light on');
  }
  lightOff() {
    console.log('Car light off');
  }
}

上例中,Car 實現了 Alarm 和 Light 接口,既能報警,也能開關車燈。it

接口繼承接口

接口與接口之間能夠是繼承關係:console

interface Alarm {
  alert();
}

interface LightableAlarm extends Alarm {
  lightOn();
  lightOff();
}

上例中,咱們使用 extends 使 LightableAlarm 繼承 Alarm。table

相關文章
相關標籤/搜索