2-23练习,还请老师指点不足之处,谢谢老师!!!

2-23练习,还请老师指点不足之处,谢谢老师!!!

package extendstest;

public class NonMotor {
	  // 私有属性:品牌、颜色、轮子(默认2个)、座椅(默认 1个)
	private String brand;
	private String color;	
	private int wheel;
	private int sit;
		// 无参构造方法
	NonMotor(){
		
	}
		// 双参构造方法,完成对品牌和颜色的赋值
	NonMotor(String brand,String color){
		this.setBrand(brand);
		this.setColor(color);
		
	}
		// 四参构造方法,分别对所有属性赋值
	NonMotor(String brand,String color,int wheel,int sit){
		this.setBrand(brand);
		this.setColor(color);
		this.setWheel(wheel);
		this.setSit(sit);
	}
	   // 公有的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 getWheel() {
		return wheel;
	}
	public void setWheel(int wheel) {
		this.wheel = wheel;
	}
	public int getSit() {
		return sit;
	}
	public void setSit(int sit) {
		this.sit = sit;
	}
		// 方法:运行,描述内容为:这是一辆**颜色的,**牌的非机动车,有**个轮子,有**个座椅的非机动车。其中**的数据由属性提供
		public String work() {
			String str="这是一辆"+this.getColor()+"颜色的,"+this.getBrand()+"牌的非机动车,有"+this.getWheel()+"个轮子,有"+this.getSit()+"个座椅的非机动车。";
			System.out.println(str);
			return str;
		}
}

=====================================
package extendstest;

public class ElectricVehicle extends NonMotor {
// 私有属性:电池品牌
	private String battrayBrand;
	 ElectricVehicle(String battrayBrand){
		 this.setBattrayBrand(battrayBrand);
	 }
    // 公有的get***/set***方法完成属性封装
public String getBattrayBrand() {
		return battrayBrand;
	}

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

public class Bicycle extends NonMotor {
	 // 在构造方法中调用父类多参构造,完成属性赋值
	String brand;
	String color;
	Bicycle(String brand, String color){
		super(brand, color);
	}
		// 重写运行方法,描述内容为:这是一辆**颜色的,**牌的自行车。其中**的数据由属性提供
	public String work() {
		String str="这是一辆"+this.getColor()+"颜色的,"+this.getBrand()+"牌的自行车";
		System.out.println(str);
		return str;
	}
}

=============================
package extendstest;

public class Tricycle extends NonMotor {
	 // 在无参构造中实现对轮子属性值进行修改
	Tricycle(){
		this.setWheel(3);
	}
	
		// 重写运行方法,描述内容为:三轮车是一款有**个轮子的非机动车。其中**的数据由属性提供
	public String work() {
		String str="三轮车是一款有"+getWheel()+"个轮子的非机动车。";
		System.out.println(str);
		return str;
	}
}

=================================
package extendstest;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print("父类信息测试:");
         new NonMotor("天宇", "红", 4, 2).work();
		System.out.print("自行车类信息测试:");
          new Bicycle("捷安特", "黄").work();
		System.out.print("电动车类信息测试:");
          new ElectricVehicle("飞鸽").work();
		System.out.print("三轮车类信息测试:");
		new  Tricycle().work();
	}

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿满 2019-07-30 15:00:28

同学的代码整体完成的不错,但是还存在一些问题,具体如下:

1、NonMotor类中,根据题目要求,轮子(默认2个)、座椅(默认   1个),所以建议在定义属性时就给出默认值,比如:

http://img1.sycdn.imooc.com//climg/5d3fea550001cf3301980128.jpg

2、构造方法建议加上访问修饰符public。

3、work()方法不需要返回值,建议将其定义为void无返回值的方法。

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

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师