2. 定义一个快递包裹类 Package,并由此派生出普通包裹类和加急包裹类。
时间: 2024-08-05 15:00:52 浏览: 39
Java类和对象的概念-Java教程共3页.pdf.zip
可以定义一个名为`Package`的基础类,作为所有包裹类型的通用模板。这个基础类可能会包含一些共同属性,比如包裹编号、重量、体积等基本特性,以及默认的运输方式(如标准配送)。然后,我们可以创建两个衍生类,分别是`NormalPackage`和`UrgentPackage`:
```java
// 基础包裹类 - Package
class Package {
private String id;
private double weight;
private double volume;
public Package(String id, double weight, double volume) {
this.id = id;
this.weight = weight;
this.volume = volume;
}
// 公共方法
public String getId() {
return id;
}
public double getWeight() {
return weight;
}
public double getVolume() {
return volume;
}
// 默认的运输方式
public void deliver() {
System.out.println("标准配送");
}
}
// 普通包裹类 - NormalPackage (继承自Package)
class NormalPackage extends Package {
public NormalPackage(String id, double weight, double volume) {
super(id, weight, volume);
}
// 如果需要,可以覆盖default的deliver方法提供更具体的实现
@Override
public void deliver() {
System.out.println("普通包裹的送达方式");
}
}
// 加急包裹类 - UrgentPackage (继承自Package)
class UrgentPackage extends Package {
public UrgentPackage(String id, double weight, double volume) {
super(id, weight, volume);
}
// 例如,加急包裹有更快的运输方式
@Override
public void deliver() {
System.out.println("加急服务,优先送达");
}
}
```
在这个例子中,`NormalPackage`和`UrgentPackage`都继承了`Package`,并可以根据需要覆盖`deliver()`方法以反映它们各自的特性和服务。
阅读全文