抽象类
# 抽象类
当我们发现,代码中有很多公共代码出现或者频繁的继承同一个类,并且这个类不参与代码的创建,没有实际的含义时。我们可以将其抽离为一个公共类。
使用 abstract
将类指定为抽象类
同时,抽象类中允许存在抽象成员。
abstract class Human {
name: string = "";
age: number = 0;
move(x: number, y: number) {
console.log("判断边界值是否出界");
console.log("判断是否存在障碍物无法跨越");
if (this.rule(x, y)) {
console.log("移动成功");
}
}
protected abstract rule(x: number, y: number): boolean;
}
class Man extends Human {
name: string = "Tom";
age: number = 1;
protected rule(x: number, y: number): boolean {
return true;
}
}
class Woman extends Human {
name: string = "Alisa";
age: number = 1;
protected rule(x: number, y: number): boolean {
return false
}
}
let m: Human = new Man()
m.move(1,1)