为什么许多 SWT 控件不允许子类化?
我经常发现自己想这样做。当您想要存储一些有用的信息或额外的状态时,它可能非常有用。
所以我的问题是,有没有一个很好的/强烈的理由来解释为什么这是被禁止的?
谢谢
编辑:非常感谢所有这些答案。所以听起来这个问题没有正确或错误的答案。
假设我接受这些类不被子类化的事实,那么不将 Control 类标记为 final,而是禁止子类化 - 有效地将异常/错误从编译时降级到运行时有什么意义呢?
EDIT^2:请参阅我自己对此的回答:显然,这些类是可覆盖的,但需要覆盖者明确确认。
谢谢