我正在创建一个非常常见,非常简单的形状的库。球体将是一个成员,以及圆环,等等。圆环有两个半径场,而球面有一个;我们可以通过更改函数的实现来包含两个半径来提供修改后的行为,当然还有添加额外的半径字段。 Torus很常见,在永久库中包含该行为是有益的。
另一方面," WigglyTorus",一个半径振荡的圆环,不会成为永久图书馆的成员。相反,匿名类更有用;它也可以存储所需的行为,但在外部,它被视为普通的环面。
存在问题。如果我想克隆圆环,我的新圆环可以表现完全相同。如果我想要克隆一个WigglyTorus,那么复制的行为将模仿环面的行为,而我根本就没有克隆。但WigglyTorus的两个用途并不能证明WigglyTorus是一个永久类。
我考虑过变通方法,但没有一个看起来很优雅。我觉得我错过了关于Java或OOP的重要内容。