假設(shè)一個場景,我們需要定義很多的類递宅,而且這些類都有相同的地方娘香,如果一個一個定義,會重復(fù)定是很多屬性和方法办龄,太過繁瑣茅主,這就需要用到抽象類了。
1土榴、定義一個抽象類
abstract class Geom {
// 定義一個抽象類,
width: number; // 可以定義普通的屬性和方法
getType() {
return 'Geom';
}
// 在抽象類中定義一個抽象方法响牛,子類需要實現(xiàn)該方法
abstract getArea(): number;
}
2玷禽、定義子類來繼承
Tip: 抽象類是不允許使用new關(guān)鍵字來實例化的,只能被繼承
class Circel extends Geom {
// getArea方法是抽象類內(nèi)部的抽象方法呀打,需要子類實現(xiàn)矢赁,不寫會報錯
getArea() {
return 100;
}
}
class Square extends Geom {
getArea() {
return 200;
}
}
class Triangle extends Geom{
getArea() {
return 300;
}
}
...