构造函数if语句

时间:2016-04-02 09:10:50

标签: java

我正在尝试为该类创建一个类Vehicle和一个构造函数。该级别的特点是发动机体积,年份和车辆类型(它只能是“汽车”或“摩托车”)。关于最后一点的问题是我应该如何实现它。用户将输入c(汽车)或m(摩托车)。我的问题是实现这个的最佳方法是什么?

我是否应该在构造函数中创建if语句(例如,如果传递的车辆类型参数为'c',则为字符串'Car'或'摩托车'为m)。

public static void main方法中执行类似的操作,我会在其中String CarString Motorcycle(取决于输入)并将其传递给构造函数。

2 个答案:

答案 0 :(得分:2)

理想情况下,您不应将逻辑放在构造函数中,因为构造函数用于初始化目的。因此,您应该将if条件放在main方法中,然后将最终值传递给构造函数。

答案 1 :(得分:0)

通常的做法是创建抽象类Vehicle,然后使用Car和Motorcycle类扩展它。

abstract class Vehicle
 {
     //Common logic here
 }
 class Car extends Vehicle
 {
    //Car-specific stuff here
 }

 class Motorcycle extends Vehicle
 {
 }

您现在应该在main方法中创建相应的实例,稍后您可以使用factory pattern创建特定于类的行为