gpt4 book ai didi

java - 数字系统类的继承层次

转载 作者:行者123 更新时间:2023-11-29 05:09:56 25 4
gpt4 key购买 nike

对于数学表达式的符号表示,我正在尝试构建数字系统类的层次结构。

除了IntegerReal,我还需要RationalComplex 类。我希望所有这些类能够相互无缝地互操作。

例如将 Complex 数字添加到 Integer 将得到一个 Complex 数字等。


我让它们都实现了Number接口(interface)。 (不是 java.lang.Number)

为了能够添加不同类型的数字,我尝试制作如下层次结构。

Integer extends Rational extends Real extends Complex

  • 这使得 Integer 不必要地存储虚部等。这种开销是不需要的。
  • 同时允许访问 Integer 的虚部似乎不合适。

谁能提出一个更好的设计,既能避免开销又能实现互操作?

最佳答案

我宁愿创建一个类似于 getRealPart() 和 getImaginaryPart() 的接口(interface)。然后您的整数可以简单地为 getImaginaryPart() 返回 0。那是因为您希望 Integer “成为”一个 Complex,但您不希望 Integer 包含 Complex 的内部实现。

关于java - 数字系统类的继承层次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28963147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com