声明一个类GeometricObject为基类,其有两个派生类:Circle类和 Rectangle类 请根据如图8.8所示的类图,完成对3个类的定义。
时间: 2024-09-18 18:17:35 浏览: 40
在Java中,我们可以按照下面的方式声明这个基本结构:
首先,创建一个名为`GeometricObject`的基类,作为所有几何形状的共同祖先:
```java
public abstract class GeometricObject {
private String name;
// 构造函数
public GeometricObject(String name) {
this.name = name;
}
// 抽象方法,用于计算面积
public abstract double getArea();
// 返回名称的方法
public String getName() {
return name;
}
// 其他通用方法或属性...
}
```
接着,我们分别定义`Circle`和`Rectangle`两个派生类,它们都从`GeometricObject`继承,并覆盖`getArea()`方法:
```java
public class Circle extends GeometricObject {
private double radius;
public Circle(String name, double radius) {
super(name);
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
public class Rectangle extends GeometricObject {
private double width;
private double height;
public Rectangle(String name, double width, double height) {
super(name);
this.width = width;
this.height = height;
}
@Override
public double getArea() {
return width * height;
}
}
```
在这个设计中,`Circle`和`Rectangle`都有自己的面积计算方法,但是因为它们都是`GeometricObject`的实例,所以可以在需要的时候统一处理,体现了多态。
阅读全文