我有一个Class A
包含相当多的成员变量。为了使其不可变并在构造过程中验证成员变量,我将其构造函数设为私有并使用内部公共静态构建器类 ( ClassABuilder
) 来构建它。(Joshua Bloch 有效的 Java,第 2 项)。
现在我不明白的是,其他程序员将如何子类Class A
化以实现他们自己的特定行为。我从书中阅读了 Builder Pattern 的缺点,但没有看到子类化被提及。我错过了什么吗?有没有一种优雅的方式来解决这个问题?
制作构造函数protected
是我的想法之一,但它仍然会采用 public static ClassABuilder
,那么如何在子类中添加新的成员变量?