ts,类如何实现接口?

我是ts的初学者,看typescript中文文档的时候有一个demo:
demo原文如下:
接口继承类
当接口继承了一个类类型时,它会继承类的成员但不包括其实现。 就好像接口声明了所有类中存在的成员,但并没有提供具体实现一样。 接口同样会继承到类的private和protected成员。 这意味着当你创建了一个接口继承了一个拥有私有或受保护的成员的类时,这个接口类型只能被这个类或其子类所实现(implement)。

当你有一个庞大的继承结构时这很有用,但要指出的是你的代码只在子类拥有特定属性时起作用。 这个子类除了继承至基类外与基类没有任何关系。 例:

class Control {
    private state: any;
}

interface SelectableControl extends Control {
    select(): void;
}

class Button extends Control implements SelectableControl {
    select() { }
}

class TextBox extends Control {

}

// Error: Property 'state' is missing in type 'Image'.
class Image implements SelectableControl {
    select() { }
}

class Location {

}

那么上述的错误该如何修正?

// Error: Property 'state' is missing in type 'Image'.
class Image implements SelectableControl {
    select() { }
}

我尝试修改代码:

class Image implements SelectableControl {
    private state = 1;
    select() { }
};

image.png

image.png
编辑器老是报错错误实现,那么正确应该怎么修改?

阅读 1.7k
1 个回答
class Image extends Control implements SelectableControl {
    select() { }
}

1680767079763.png

还有个问题是Image是个已经存在的对象 你要搞个名字

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进