当前位置: 首页 > 知识库问答 >
问题:

typescript 为何不能定义抽象静态成员方法,只能定义抽象成员方法?

公羊学义
2023-09-03

不能定义

interface IDevice {    static myFun():void;}

抽象类也不行

abstract class ADevice {    abstract static myFun():void;}

有什么其他的方法用来定义静态成员方法

共有1个答案

邓翼
2023-09-03

可以通过装饰器可以check 来达到你的目的

interface MyType {  instanceMethod(): void;}interface MyTypeStatic {  new (): MyType;  myFun(): void;}function staticImplements<T>() {  return <U extends T>(constructor: U) => {    constructor;  };}@staticImplements<MyTypeStatic>()class MyTypeClass {  public static myFun() {}  instanceMethod() {}}
 类似资料:
  • 问题内容: 是否可以在不添加抽象方法的情况下定义抽象类? 问题答案: 当然。 声明一个类抽象仅意味着您不允许自己对其进行实例化。 声明方法抽象意味着子类必须提供该方法的实现。 这两个是单独的概念,尽管很明显,您不能在非抽象类中使用抽象方法。您甚至可以使用带有方法的抽象类,但绝不能相反。

  • 问题内容: 问题是在Java中为什么不能定义抽象静态方法?例如 问题答案: 因为“抽象”的意思是:“不实现任何功能”,而“静态”的意思是:“即使没有对象实例也有功能”。这是一个逻辑上的矛盾。

  • 问题内容: 问题是在Java中为什么不能定义抽象的静态方法?例如 问题答案: 因为“抽象”表示:“不执行任何功能”,而“静态”表示:“即使没有对象实例也具有功能”。这是一个逻辑上的矛盾。

  • 问题内容: 我了解抽象类中的方法都可以是抽象的,也可以不是。但是,为什么不能在“普通”的非抽象类中创建抽象方法呢? 在此先感谢您的解释! 问题答案: 抽象 方法从根本上说,该方法没有实现,需要在 子类中 实现。但是,如果您在 非抽象 类中具有 抽象 方法,则可以实例化该类并获取一个对象,该对象将具有未实现的方法,您将无法调用该方法。 __

  • 本文向大家介绍在C ++中定义静态成员,包括了在C ++中定义静态成员的使用技巧和注意事项,需要的朋友参考一下 可以使用static关键字定义C ++中类的静态成员。内存中只有静态类成员的一个副本,而不管该类的对象数目如何。因此,静态成员由所有类对象共享。 如果没有以任何其他方式初始化该类的第一个对象,则在创建该类的第一个对象时,该静态类成员将初始化为零。 演示静态类成员定义的程序如下: 示例 上

  • 我试图通过visual Studio中的android绑定库将clover.aar文件绑定到xamarin。我把它归结为两个错误: “Decimal”不实现接口成员“icomparable.comapreto(对象)”