设计一个汽车类Vehicle包含属性有车轮个数wheels和车重weight小车类Car是Vehicle子类,包含属性有载人数loader卡车类Truck是Car类子类,包含属性有载重量payload,每个类都有构造方法和输出数据的方法
时间: 2024-09-08 22:03:52 浏览: 294
在设计面向对象的程序时,我们通常会根据现实世界中的对象来定义类。在这个例子中,我们首先定义了一个基类Vehicle,它包含车轮个数和车重这两个属性。接着定义了Car类,它是Vehicle的子类,增加了载人数这一属性。最后,Truck类作为Car的子类,再增加了一个载重量的属性。每个类都有构造方法用于创建对象时初始化属性,以及一个输出数据的方法用于展示对象的信息。
下面是如何用伪代码来表示这些类的结构:
```java
// 基类Vehicle
class Vehicle {
// 属性
int wheels; // 车轮个数
double weight; // 车重
// 构造方法
public Vehicle(int wheels, double weight) {
this.wheels = wheels;
this.weight = weight;
}
// 输出数据的方法
public void displayData() {
System.out.println("车轮个数:" + this.wheels + ",车重:" + this.weight);
}
}
// Car类,继承自Vehicle
class Car extends Vehicle {
// 属性
int loader; // 载人数
// 构造方法
public Car(int wheels, double weight, int loader) {
super(wheels, weight); // 调用父类构造方法
this.loader = loader;
}
// 输出数据的方法
@Override
public void displayData() {
super.displayData(); // 调用父类的输出方法
System.out.println("载人数:" + this.loader);
}
}
// Truck类,继承自Car
class Truck extends Car {
// 属性
double payload; // 载重量
// 构造方法
public Truck(int wheels, double weight, int loader, double payload) {
super(wheels, weight, loader); // 调用父类构造方法
this.payload = payload;
}
// 输出数据的方法
@Override
public void displayData() {
super.displayData(); // 调用父类的输出方法
System.out.println("载重量:" + this.payload);
}
}
```
以上代码中,我们定义了三个类:Vehicle、Car和Truck。Car类继承了Vehicle类,Truck类继承了Car类。每个类都有一个构造方法和一个`displayData()`方法用于输出对象的属性信息。
阅读全文