【发布时间】:2018-02-04 12:00:58
【问题描述】:
我有以下类,Rocket,我想为它创建子类,比如说“U1”和“U2”。
现在 U1 和 U2 都有:
- 费用
- 重量(空时)
- 最大重量(最大货物限制)
但这些规格在 U1 火箭和 U2 火箭中是不同的,尽管它们都是“火箭”。
如何在父类 Rocket 中声明规范并在子类 U1 和 U2 中赋予它们值?
或者我应该在子类中用它们的值重新声明它们,而在父类中完全跳过声明它们?
【问题讨论】:
-
我投票结束这个问题,因为这个问题属于 Stack Exchange 网络中的另一个站点softwareengineering.stackexchange.com
-
欢迎来到 Stack Overflow!请拿起tour,环顾四周,并通读help center,尤其是How do I ask a good question? 和What topics can I ask about here?。从第二个链接:“请求家庭作业帮助的问题必须包括您迄今为止为解决问题所做的工作的摘要,以及您在解决问题时遇到的困难的描述。”
-
如果这些字段的值是你的火箭 U1 和 U2 之间的唯一区别(如果它们没有不同方法形式的不同独特行为),那么你应该将它们建模为 instances 你的Rocket类:
Rocket u1 = new Rocket(cost1, weight1), u2 = new Rocket(cost2, weight2);子类只有在不同的方法或不同的方法实现的形式存在不同的行为时才需要。 -
从编码开始,展示你到目前为止所做的事情。
标签: java class inheritance static