Java定义形状类Shape,圆形类Circle,矩形类Rectangle。要求如下: 1.继承:Shape定义为父类,圆形类Circle与矩形类Rectangle定义为Shape的子类。 2.Shape类,属性无要求: ① 方法:包含一个计算面积的方法calculateAr
时间: 2024-11-22 20:48:15 浏览: 40
编写一个抽象类Shape
4星 · 用户满意度95%
在Java中,我们可以按照这样的结构设计一个简单的形状类体系:
首先,我们定义一个抽象父类`Shape`,它表示所有形状的基本特征,并声明一个抽象方法`calculateArea()`用于计算面积,因为具体的面积计算方法将由每个子类提供。
```java
abstract class Shape {
// 没有实例化域,因为这是抽象类
public abstract double calculateArea();
}
```
然后,创建两个子类`Circle`和`Rectangle`,它们分别继承自`Shape`。`Circle`代表圆形,拥有半径属性;而`Rectangle`代表矩形,拥有长和宽的属性。这里分别实现了`calculateArea()`方法:
```java
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double calculateArea() {
return Math.PI * radius * radius; // 圆形面积公式
}
}
class Rectangle extends Shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double calculateArea() {
return length * width; // 矩形面积公式
}
}
```
这样,无论何时需要计算一个`Shape`的面积,只要它是`Circle`或`Rectangle`类型的,都可以调用各自的`calculateArea()`方法,体现了多态的优势。
阅读全文