我被要求在StealthCruiser类中构建方法“ getAnnualMaintenanceCost”,该方法用于计算某物的总成本。总成本的组成部分之一取决于为同一类创建的实例数量,如何计算数量?
import java.util.Arrays;
import java.util.List;
import java.util.Set;
public class StealthCruiser extends AbstractCompbatShip {
static final int COST_BASIC = 2000;
static final int COST_PER_UNIT1 = 1000;
static final int COST_PER_UNIT2 = 100;
private Weapon defaultWeapon;
public StealthCruiser(String name, int commissionYear, float maximalSpeed,
Set<CrewMember> crewMembers, List<Weapon> weaponArray) {
super(name, commissionYear, maximalSpeed, crewMembers, weaponArray);
}
public StealthCruiser(String name, int commissionYear, float maximalSpeed,
Set<CrewMember> crewMembers) {
super(name, commissionYear, maximalSpeed, crewMembers,
Arrays.asList(new Weapon("Laser Cannons", 10 ,100)));
}
@Override
public int getAnnualMaintenanceCost() {
return COST_BASIC +
(int)(super.getMaximalSpeed() * COST_PER_UNIT1) +
super.getWeaponsCost() +
(COST_PER_UNIT2 * ...... //should be number of instances of that class;
}
....
}
最简单的方法是在类中具有一个静态“ instanceCount”成员,并在构造函数中增加它。如果这是用于家庭作业,那么这应该是一个足够好的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句