【发布时间】:2021-08-22 23:53:01
【问题描述】:
我是 Java 新手,我正在尝试编写一个命令行程序来计算各种结构梁的截面属性。父类Beam() 具有子类Angle()、Tube() 和Rectangular()。我希望用户能够创建新的梁并将梁添加到父数组中,如下所示:
Beam[] beams = new Beam[10];
Tube tb = new Tube(width, height, weight);
Angle ag = new Angle(width, height, flangeWidth);
理想情况下,我想做这样的事情,但我不能,因为对象是不同的类型。
beams.add(tb);
beams.add(ag);
如何解决这个问题以跟踪子对象?我想打印数组中的所有对象,并让用户选择一个对象并打印出它的计算值。
【问题讨论】:
-
如果你使用
Arrays,你应该做类似beams[0] = tb; beams[1] = ag的事情吗? -
类名让我失望。
Angular/Angled、Tubular、Rectangular或Angle、Tube、Rectangle会更加一致。 -
我认为你需要继续阅读教程
-
关于类名的好点;我肯定会改变它们以使它们更加一致。感谢您的评论。我在上 Java 101 课程,所以我还在学习。
标签: java arrays class object parent