我有一个自行车课程是家长课程。我想要前轮和后轮有两个子类。有没有一种方法可以让我只创建一个超类实例,然后创建两个单独的子类实例,它们只共享一个超类实例。基本上自行车是一个,但轮子是两个,因此自行车的公共变量只需实例化一次。我想采用 IS-A 关系,这样我就可以重用许多变量和方法。另外,我不能在这里使用静态,因为每辆自行车都是不同的实例。
前任:
class Bicycle {
String name;
int year;
double price;
}
class FrontWheel extends bicycle {
double wheelSize;
}
class BackWheel extends bicycle {
double wheelSize;
}
Run Code Online (Sandbox Code Playgroud)
在主程序中,如果我创建 FrontWheel 和 BackWheel 的实例,显然会正确创建两组公共变量(年份、名称等)。有没有办法避免公共变量的内存分配重复?Java 中还有其他可用的选项吗?
FrontWheel 不是,Bicycle而是自行车包含两个轮子!这是一个错误使用继承的示例。
您应该在Bycicle 中有一个 FrontWheel 和 BackWheel 实例。
因此,例如
class Bicycle {
String name;
int year;
double price;
Wheel frontWheel,rearWheel;
}
class Wheel{
protected double wheelSize;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
509 次 |
| 最近记录: |