我知道你不允许从案例类继承,但是当你真的需要时你会怎么做?我们在一个层次结构中有两个类,它们都包含许多字段,我们需要能够创建两者的实例。这是我的选择:
- 如果我将超类设为普通类而不是案例类 - 我将失去所有案例类的优点,例如 toString、equals、hashCode 方法等。
- 如果我把它作为一个案例类,我会打破不从案例类继承的规则。
- 如果我在子类中使用组合 - 我必须编写很多方法并将它们重定向到另一个类 - 这将意味着大量工作并且会感觉非 Scalaish。
我该怎么办?这不是很普遍的问题吗?