用java定义一个交通工具类Vehicle,作为父类,类中有名称name、品牌brand属性和移动的方法move(),输出“交通工具可以移动”; 设计交通工具类的两个子类:火车类Train、汽车类Car,并在子类中重写父 类移动的方法,分别输出“火车在轨道上行驶”和“汽车在公路上行驶” 为火车类Train添加声音 sound()方法,火车“嘟嘟叫”;为汽车类Car添加声音sound()方法,汽车“嘀嘀叫”。 设计驾驶员驾驶类Driver,包含name属性、序号id属性和drive()方法,使用多态的方式驾驶交通工具。 注意: 对类进行封装;
时间: 2023-05-19 13:04:47 浏览: 216
以下是交通工具类Vehicle的Java代码:
```
public class Vehicle {
private String name;
private String brand;
public Vehicle(String name, String brand) {
this.name = name;
this.brand = brand;
}
public void move() {
System.out.println("交通工具可以移动");
}
public String getName() {
return name;
}
public String getBrand() {
return brand;
}
}
```
以下是火车类Train的Java代码:
```
public class Train extends Vehicle {
public Train(String name, String brand) {
super(name, brand);
}
@Override
public void move() {
System.out.println("火车在轨道上行驶");
}
public void sound() {
System.out.println("火车“嘟嘟叫”");
}
}
```
以下是汽车类Car的Java代码:
```
public class Car extends Vehicle {
public Car(String name, String brand) {
super(name, brand);
}
@Override
public void move() {
System.out.println("汽车在公路上行驶");
}
public void sound() {
System.out.println("汽车“嘀嘀叫”");
}
}
```
以下是驾驶员驾驶类Driver的Java代码:
```
public class Driver {
private String name;
private int id;
public Driver(String name, int id) {
this.name = name;
this.id = id;
}
public void drive(Vehicle vehicle) {
System.out.println(name + "驾驶" + vehicle.getBrand() + vehicle.getName());
vehicle.move();
}
}
```
以上代码实现了交通工具类Vehicle及其两个子类Train和Car,以及驾驶员驾驶类Driver。在Driver类中,使用多态的方式驾驶交通工具,可以通过传入不同的Vehicle对象来实现驾驶不同的交通工具。同时,对类进行了封装,保证了类的安全性和可维护性。
阅读全文