class Control {
private state: any
}
interface SelectableControl extends Control {
select(): void
}
class ImageC implements SelectableControl {
private state: any
select() { }
class Button extends Control implements SelectableControl {
select() { }
}
SelectableControl 接口继承了 Control 类,所以 SelectableControl 接口有两个签名,一个是其自身的 select 方法签名,还有一个是从 Control 类 继承过来的私有属性 state 签名
ImageC 类为什么没有成功实现 SelectableControl 接口?ImageC 类内部也定义了一个私有属性 state 并且也实现了一个公共方法 select,ImageC 类 就是按照 SelectableControl 接口去定义的呀?
Button 类继承自 Control 类并且要实现 SelectableControl 接口,Button 类内部实现了 select 方法,但是 SelectableControl 接口还差一个私有属性 state 没有定义,但编译器告诉我们这么写是对的。没错,Button 类是继承了有私有属性 state 的 Control 类,但私有属性只有 Control 这个基类能使用,它的子类即 Button类 又访问不了它父类的私有属性呀,Button 类怎么就算实现了 SelectableControl 接口呢❓