interface BaseInter{
      name : string;
      test();
    }

    abstract  class Abs implements  baseInter{
    }

在TypeScript中,编译器抱怨类错误地实现了接口:

abs类型中缺少名称.

这里是一个抽象类,那么我们为什么需要在那里实现接口呢?

推荐答案

您需要重新编写接口中的所有成员/方法,并向其添加abstract关键字,因此在您的情况下:

interface baseInter {
    name: string;
    test();
}

abstract class abs implements baseInter {
    abstract name: string;
    abstract test();
}

(code in playground)

有一个建议:Missing property declaration in abstract class implementing interfaces,但由于以下原因被拒绝:

不过,不写声明的便利性将是

Typescript相关问答推荐

在控制器中使用@ DeliverGuards时实现循环依赖项时未定义的依赖项

TypScript中的算法运算式

如何从TypScript中的接口中正确获取特定键类型的所有属性?

如何缩小变量访问的对象属性范围?

具有动态键的泛型类型

Angular 错误NG0303在Angular 项目中使用app.Component.html中的NGFor

具有泛型类型和缺省值的键

如何按不能保证的功能过滤按键?

如何在TypeScrip中正确键入元素和事件目标?

如何使我的函数专门针对联合标记?

如何使用模板继承从子组件填充基础组件的画布

为什么我在这个重载函数中需要`as any`?

如何按属性或数字数组汇总对象数组

如何将spread operator与typescripts实用程序类型`参数`一起使用

使用Type脚本更新对象属性

声明遵循映射类型的接口

如何在Deno中获取Base64图像的宽/高?

为什么`map()`返回类型不能维护与输入相同数量的值?

带动态键的 TS 功能

如何将 MUI 主题对象的自定义属性与情感样式组件中的自定义props 一起使用?