linghuhechou
一.编程练习:某公司要开发
XX⻋⾏管理系统
,请使⽤⾯向对象的思想,设计⾃定义类描述⾃⾏⻋、电动⻋和三轮⻋。
程序参考运⾏效果图如下:
任务
任务分析;
第⼀ 步:分析⾃⾏⻋、电动⻋和三轮⻋的共性:
1.
都是⾮机动⻋,具有⾮机动⻋的基本特征
2.
都有运⾏的⽅法
第⼆步:根据共性,定义⾮机动⻋
属性:品牌、颜⾊、轮⼦(默认2个)、座椅(默认 1个)
⽅法:
1.
编写⽆参构造⽅法、双参构造⽅法和四参构造⽅法,其中,在双参构造⽅法中,完成对品牌和颜⾊的赋值;在四参构造⽅法中,完成对所有属性的赋值
2.
编写运⾏的⽅法,描述内容为:这是⼀ ** 颜⾊的, ** 牌的⾮机动⻋,有 ** 个轮⼦,有 ** 个座椅的 ⾮机动⻋。其中 ** 的数据由属性提供
第三步:定义⾃⾏⻋、电动⻋和三轮⻋分别继承⾃⾏⻋类,要求:
⾃⾏⻋类:
1.
在构造⽅法中调⽤⽗类多参构造,完成属性赋值
2. 重写运⾏⽅法,描述内容为:这是⼀ ** 颜⾊的, ** 牌的⾃⾏⻋。其中 ** 的数据由属性提供
电动⻋:
1. 增加 电池品牌 属性
2. 重写运⾏⽅法,描述内容为:这是⼀ 辆使⽤ ** 牌电池的电动⻋。其中 ** 的数据由属性提供
三轮⻋:
1.
在⽆参构造中实现对轮⼦属性值进⾏修改
2. 重写运⾏⽅法,描述内容为:三轮⻋是⼀ 款有 ** 个轮⼦的⾮机动⻋。其中 **由属性提供
二.运行代码。
1.Test.java//测试类
public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
    NoVehicle nh=new NoVehicle("天宇","红",4,2);
    nh.describe();
    Bike bk=new Bike("捷安特","黄");
    bk.describe();
    ElectricCar ec=new ElectricCar("飞鸽");
    ec.describe();
    Tricycle ty=new Tricycle();
    ty.describe();
	}

}

2.NoVehicle.java//非机动车  //父类

public class NoVehicle {
	private String brand;
	private String color;
	private int wheel;
	private int Chair;

//无参构造方法
	public NoVehicle() {

	}

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

//四参构造方法,完成对所有属性的赋值
	public NoVehicle(String brand, String color, int wheel, int chair) {
		this.setBrand(brand);
		this.setColor(color);
		this.setWheel(wheel);
		this.setChair(chair);
	}

	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 getChair() {
		return Chair;
	}

	public void setChair(int chair) {
		Chair = chair;
	}

	public void describe() {
		System.out.println("父类信息测试:这是一辆" + this.getColor() + "颜色的," + this.getBrand() + "牌的非机动车,有" + this.getWheel() + "个轮子,有"
				+ this.getChair() + "个座椅");
	}

}

2.Bike.java //自行车类 //子类


public class Bike extends NoVehicle {
	public Bike() {
		
	}
	//子类默认调用父类的无参构造方法
    public Bike(String brand,String color) {
    	super(brand,color);
    }
	public void describe() {
		System.out.println("自行车类信息测试:这是一辆" + super.getColor() + "颜色的," + super.getBrand() + "牌的自行车");
	}
}

3.Electric.java //电动车类 //子类

public class ElectricCar extends NoVehicle {
private String batterybrand;

//无参构造方法
public ElectricCar(String batterybrand) {
	this.setBatterybrand(batterybrand);
}

public String getBatterybrand() {
	return batterybrand;
}

public void setBatterybrand(String batterybrand) {
	this.batterybrand = batterybrand;
}	
public void describe() {
	System.out.println("电动车类信息测试:这是一辆使用"+this.getBatterybrand()+"牌电池的电动车");
}
}

4.Tricycle.java //三轮车类,//子类

public class Tricycle extends NoVehicle{
//无参构造方法
	public Tricycle() {
		super.setWheel(3);
	}
	public void describe() {
		System.out.println("三轮车类信息测试:三轮车是一款有"+this.getWheel()+"个轮子的非机动车");
	}
}

5.运行图片

分类:

技术点:

相关文章: