利用继承的思想,定义交通工具、汽车、火车、飞机这些类,编写上转型程序并输出各个交通工具的乘坐信息
时间: 2024-10-13 20:10:04 浏览: 0
在面向对象编程中,我们可以利用继承机制来创建一个通用的交通工具类,然后派生出更具体的车辆如汽车、火车和飞机等子类。继承允许子类共享和扩展父类的属性和方法。
首先,我们定义一个基础的交通工具类`Vehicle`:
```java
public class Vehicle {
private String name;
public Vehicle(String name) {
this.name = name;
}
// 公共方法
public void showInfo() {
System.out.println("这是" + name + "的乘坐信息。");
}
}
```
接着,我们会为每种交通工具创建各自的子类,比如`Car`, `Train`, 和 `Airplane`,并覆盖或添加特定的信息:
```java
public class Car extends Vehicle {
public Car(String name) {
super(name);
}
// 汽车特有的方法
public void carFeatures() {
System.out.println("这是一辆私家车,适合短途旅行。");
}
}
public class Train extends Vehicle {
public Train(String name) {
super(name);
}
// 火车特有的方法
public void trainFeatures() {
System.out.println("这是一列长途列车,可以穿越大洲。");
}
}
public class Airplane extends Vehicle {
public Airplane(String name) {
super(name);
}
// 飞机特有的方法
public void airplaneFeatures() {
System.out.println("这是一架喷气式飞机,能快速横越大洋。");
}
}
```
最后,我们可以在主程序中通过父类引用来操作各种交通工具,并显示其基本信息:
```java
public static void main(String[] args) {
Vehicle vehicle1 = new Car("宝马");
Vehicle vehicle2 = new Train("东方快车");
Vehicle vehicle3 = new Airplane("波音747");
vehicle1.showInfo();
vehicle1.carFeatures(); // 调用子类方法
vehicle2.showInfo();
vehicle2.trainFeatures();
vehicle3.showInfo();
vehicle3.airplaneFeatures();
}
```
运行这个程序,你会看到每个交通工具的乘坐信息以及它们各自的特点。这就是利用继承思想实现的上转型示例。