编写多种飞机类,每种飞机的起飞方式不一样。所有飞机类中的属性都继承父类,都包含起飞方法。体现继承与多态Java
时间: 2024-02-18 11:01:10 浏览: 27
好的,我来回答您的问题。
首先,我们可以定义一个名为 `Airplane` 的父类,其中包含所有飞机类共有的属性和方法,如下所示:
```java
public class Airplane {
private String model;
private int seatNum;
public Airplane(String model, int seatNum) {
this.model = model;
this.seatNum = seatNum;
}
public void takeOff() {
System.out.println("使用标准起飞方式起飞!");
}
public String getModel() {
return model;
}
public int getSeatNum() {
return seatNum;
}
}
```
然后,我们可以定义多个子类,每个子类都继承 `Airplane` 父类,并覆盖父类的 `takeOff()` 方法,实现不同的起飞方式。例如:
```java
public class AirbusA380 extends Airplane {
public AirbusA380(String model, int seatNum) {
super(model, seatNum);
}
@Override
public void takeOff() {
System.out.println("使用超长起飞方式起飞!");
}
}
public class Boeing747 extends Airplane {
public Boeing747(String model, int seatNum) {
super(model, seatNum);
}
@Override
public void takeOff() {
System.out.println("使用加速起飞方式起飞!");
}
}
```
最后,我们可以创建不同类型的飞机对象,并调用它们的 `takeOff()` 方法,根据多态的特性,每个对象将会执行其自己的 `takeOff()` 方法:
```java
public class Main {
public static void main(String[] args) {
Airplane airplane1 = new AirbusA380("Airbus A380", 853);
Airplane airplane2 = new Boeing747("Boeing 747", 660);
airplane1.takeOff();
airplane2.takeOff();
}
}
```
输出结果为:
```
使用超长起飞方式起飞!
使用加速起飞方式起飞!
```
以上就是使用继承与多态实现多种飞机类的例子。