【发布时间】:2022-01-10 16:02:08
【问题描述】:
在 LTS 版本的 Java (Java 17) 中,我们第一次拥有 sealed 关键字,简而言之,它使我们可以限制层次结构:
public abstract sealed class Person
permits Employee, Manager {
//...
}
如果我想创建一个扩展Person 基类的新子类,我也必须修改基类。这是否违反了开闭原则?
【问题讨论】:
-
请注意,我们一直有
final,这使我们可以限制层次结构。密封将其扩展到单个具体类之外。
标签: open-closed-principle sealed-class java-17