Typescript學習筆記(9) ----- 抽象類

如果很多類都有通性,我們就定義一個抽象類
抽象類中即可以

  • 定義抽象方法
  • 可以定義具體的方法
  • 定義屬性
abstract class Geom {
  type:string
  abstract getArea(): number;
  getName() {
    console.log("gemo");
  }
}

抽象類必須用繼承去實現(xiàn),繼承的類稱為抽象類的實現(xiàn)類
定義兩個類:Square,Circle
每個類中有這個類具體的方法去實現(xiàn)抽象類中定義的抽象方法

abstract class Geom {
  type: string;
  abstract getArea(): number;
  getName() {
    console.log("gemo");
  }
}

class Square extends Geom {
  constructor(private side: number) {
    super();
  }
  getArea() {
    return this.side * this.side;
  }
}

class Circle extends Geom {
  constructor(private radius: number) {
    super();
  }
  getArea() {
    return 2 * 3.14 * this.radius;
  }
}

const square = new Square(2);
const circle = new Circle(2);

//output 
//4
//12.56

在實際開發(fā)中,抽象類會結(jié)合接口一起使用,遇到類似場景和設(shè)計模式會繼續(xù)更新。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容