定义一个车基类,有run,stop等成员函数,由此派生成自行车类,汽车类,用java实现完整代码
时间: 2024-12-14 21:16:34 浏览: 11
在Java中,我们可以定义一个`Vehicle`基类,然后派生出`Bicycle`和`Car`两个子类。这里是一个简单的示例:
```java
// 定义 Vehicle 基类
public abstract class Vehicle {
// 公共属性和方法
private String modelName;
public Vehicle(String modelName) {
this.modelName = modelName;
}
// 父类方法
public void run() {
System.out.println(modelName + " is running.");
}
public void stop() {
System.out.println(modelName + " has stopped.");
}
// 抽象方法,子类需要覆盖这个方法
public abstract double getMaxSpeed();
}
// 自行车类,继承自 Vehicle 类
public class Bicycle extends Vehicle {
public Bicycle(String modelName) {
super(modelName);
}
@Override
public double getMaxSpeed() {
return 20; // 自行车的最大速度
}
// 自行车特有的行为
public void pedal() {
System.out.println(modelName + " is pedaling.");
}
}
// 汽车类,也继承自 Vehicle 类
public class Car extends Vehicle {
public Car(String modelName) {
super(modelName);
}
@Override
public double getMaxSpeed() {
return 120; // 汽车的最大速度
}
// 汽车特有的行为
public void accelerate() {
System.out.println(modelName + " is accelerating.");
}
}
// 测试代码
public class Main {
public static void main(String[] args) {
Bicycle bike = new Bicycle("Mountain Bike");
bike.run(); // 输出: Mountain Bike is running.
bike.pedal(); // 输出: Mountain Bike is pedaling.
Car car = new Car("Luxury Sedan");
car.run(); // 输出: Luxury Sedan is running.
car.accelerate(); // 输出: Luxury Sedan is accelerating.
}
}
```
在这个例子中,`Bicycle`和`Car`都实现了`Vehicle`中的`run()`和`stop()`方法,并各自覆盖了`getMaxSpeed()`方法以展示它们的特性和行为。
阅读全文