// 抽象类(基类) abstract修饰符
// abstract定义的类为抽象类
// abstract定义的方法 只能作为描述,不能进行实现
abstract class Vue {
name: string
constructor(name?: string) {
this.name = name
}
getName(): string {
return this.name
}
abstract getName1(name: string): void
// abstract getName1() { } // 报错 Method 'getName' cannot have an implementation because it is marked abstract.
}
// let vue = new Vue() // 报错 *抽象类无法实例化
// 派生类继承抽象类
class React extends Vue {
constructor() {
super()
}
getName1(name: string) { } // 派生类中必须实现抽象类,否则报错
setName(name: string) {
this.name = name // 这里的name在Vue中已经定义过了
}
}
let react = new React() // *派生类可以被实例化
react.setName('huangzi')
10、抽象类
于 2023-04-03 11:09:12 首次发布