如何在Java中设计一个抽象形状类Shape,包含求周长和面积的方法,然后让圆形Circle和正方形Square分别作为其子类并实现这些方法?
时间: 2024-12-23 09:24:07 浏览: 4
在Java中设计一个抽象形状类Shape,可以按照以下步骤进行:
1. **创建抽象类Shape**:
首先,你需要定义一个名为`Shape`的抽象类,它包含两个抽象方法`getPerimeter()`和`getArea()`,这两个方法用于获取形状的周长和面积,因为它们的具体计算依赖于具体的子类。
```java
public abstract class Shape {
// 抽象方法,需要由子类提供实际实现
public abstract double getPerimeter();
public abstract double getArea();
}
```
2. **创建子类Circle和Square**:
接着,你可以创建两个子类`Circle`和`Square`,它们分别继承自`Shape`,并实现`getPerimeter()`和`getArea()`方法。
```java
public class Circle extends Shape {
private double radius;
// 构造函数
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius; // 圆形周长公式
}
@Override
public double getArea() {
return Math.PI * radius * radius; // 圆形面积公式
}
}
public class Square extends Shape {
private double side;
// 构造函数
public Square(double side) {
this.side = side;
}
@Override
public double getPerimeter() {
return 4 * side; // 正方形周长公式
}
@Override
public double getArea() {
return side * side; // 正方形面积公式
}
}
```
现在,`Circle`和`Square`都可以实例化,并通过它们各自的`Shape`引用调用`getPerimeter()`和`getArea()`方法了。这就是如何在Java中利用多态设计一个抽象形状类及其子类。
阅读全文