我正在尝试为该类创建一个类Vehicle
和一个构造函数。该级别的特点是发动机体积,年份和车辆类型(它只能是“汽车”或“摩托车”)。关于最后一点的问题是我应该如何实现它。用户将输入c
(汽车)或m
(摩托车)。我的问题是实现这个的最佳方法是什么?
我是否应该在构造函数中创建if
语句(例如,如果传递的车辆类型参数为'c',则为字符串'Car'或'摩托车'为m)。
或
在public static void main
方法中执行类似的操作,我会在其中String Car
或String Motorcycle
(取决于输入)并将其传递给构造函数。
答案 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创建特定于类的行为