老师,请帮忙看看有什么问题,哪里需要优化呢?

来源:2-23 编程练习

精慕门4666457

2019-10-11 20:56:28

public class Test {
    public static void main(String[] args) {
		System.out.print("父类信息测试:");
		NonMotor nonMotor = new NonMotor("天宇", "红", 4, 2);
		System.out.println(nonMotor.work());
		
		System.out.print("自行车类信息测试:");
		Bicycle bicycle = new Bicycle("捷安特", "黄");
		System.out.println( bicycle.work());

		System.out.print("电动车类信息测试:");
		ElectricVehicle electricVehicle = new ElectricVehicle();
		electricVehicle.setBatteryBrand("飞鸽");
		System.out.println(electricVehicle.work());
		

		System.out.print("三轮车类信息测试:");
		Tricycle tricycle = new Tricycle();
		System.out.println(tricycle.work());
		
	}
}
/***
 * 三轮车
 * */
public class Tricycle extends NonMotor {

    // 在无参构造中实现对轮子属性值进行修改
	public Tricycle() {
		super();
		super.setWhell(3);
	}

	// 重写运行方法,描述内容为:三轮车是一款有**个轮子的非机动车。其中**的数据由属性提供
	public String work() {
		return "三轮车是一款有" + this.getWhell() + "个轮子的非机动车";
	}

}
/**
 * 非机动车类
 */
public class NonMotor {
    // 私有属性:品牌、颜色、轮子(默认2个)、座椅(默认 1个)
	private String brand;//品牌
	private String color;//颜色
	private int whell = 2;//车轮
	private int chair = 1;//座椅
	// 无参构造方法
	public NonMotor() {
	}

	// 双参构造方法,完成对品牌和颜色的赋值
	public NonMotor(String brand, String color) {
		this.setBrand(brand);
		this.setColor(color);
	}

	// 四参构造方法,分别对所有属性赋值
	public NonMotor(String brand, String color, int whell, int chair) {
		this.setBrand(brand);
		this.setColor(color);
		this.setWhell(whell);
		this.setChair(chair);
	}
   
   // 公有的get***/set***方法完成属性封装
	public String getBrand() {
		return brand;
	}

	public void setBrand(String brand) {
		this.brand = brand;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public int getWhell() {
		return whell;
	}

	public void setWhell(int whell) {
		this.whell = whell;
	}

	public int getChair() {
		return chair;
	}

	public void setChair(int chair) {
		this.chair = chair;
	}

	// 方法:运行,描述内容为:这是一辆**颜色的,**牌的非机动车,有**个轮子,有**个座椅的非机动车。其中**的数据由属性提供
	public String work() {
		return "这是一辆" + this.getColor() + "颜色的, " + this.getBrand() + "牌的非机动车, 有" + this.getWhell() + "个轮子, 有" + this.getChair() + "座椅的非机动车。";
	}
}
/**
 * 自行车类
 * */
public class Bicycle extends NonMotor {

    // 在构造方法中调用父类多参构造,完成属性赋值
	public Bicycle(String brand, String color) {
		super(brand, color);
	}

	// 重写运行方法,描述内容为:这是一辆**颜色的,**牌的自行车。其中**的数据由属性提供
	public String work() {
    	return "这是一辆" + this.getColor() + "颜色的, " + this.getBrand() + "牌的自行车";
    }
    
}
/**
 * 电动车类
 * */
public class ElectricVehicle extends NonMotor {
    // 私有属性:电池品牌
	private String batteryBrand;

    // 公有的get***/set***方法完成属性封装
	public String getBatteryBrand() {
		return batteryBrand;
	}

	public void setBatteryBrand(String batteryBrand) {
		this.batteryBrand = batteryBrand;
	}

	// 重写运行方法,描述内容为:这是一辆使用**牌电池的电动车。其中**的数据由属性提供
	public String work() {
		return "这是一辆使用" + this.getBatteryBrand() + "牌电池的电动车";
	}

}


写回答

1回答

好帮手慕珊

2019-10-12

你好!程序运行效果正确,符合作业要求。也可以为每个子类添加无参构造方法。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 11489 问题

查看课程