这三个类继承自一个抽象类“交通工具”。“汽车”与“火车”类还继承自一个父类“陆上交通工具”。
时间: 2024-11-16 09:19:47 浏览: 19
您提到的这个设计采用了继承和多态的核心面向对象编程原则。我们可以创建一个抽象类 `交通工具` 和两个具体类 `汽车` 和 `火车` 继承自它,同时也让 `汽车` 和 `火车` 另外从 `陆上交通工具` 抽象类派生。下面是这个概念的一个简要描述:
```java
// 抽象类交通工具
abstract class 交通工具 {
protected String name;
public 交通工具(String name) {
this.name = name;
}
// 公共方法,如展示信息
abstract void operate();
}
// 父类陆上交通工具
abstract class 陆上交通工具 extends 交通工具 {
// 具有陆地交通工具特征的方法,例如加油
public void refuel() {
System.out.println(name + "正在加油...");
}
}
// 子类轮船
class 轮船 extends 交通工具 {
// 实现抽象类中的operate方法,用于说明轮船操作
@Override
public void operate() {
System.out.println(name + "在水中航行...");
}
}
// 子类汽车和火车分别继承陆上交通工具并实现交通工具接口
class 汽车 extends 陆上交通工具 {
// 自定义汽车特有的方法
public void drive() {
System.out.println("汽车正在驾驶...");
}
@Override
void operate() {
drive();
}
}
class 火车 extends 陆上交通工具 {
// 自定义火车特有的方法
public void whistle() {
System.out.println("火车鸣笛...");
}
@Override
void operate() {
whistle();
}
}
```
这样设计使得每个子类可以继承父类的共同特点,并通过重写抽象方法来提供它们独有的行为。
阅读全文