用java定义一个名为 Shape 的接口,该接口包含两个方法: double getArea():返回形状的面积。 double getPerimeter():返回形状的周长。 然后,请编写三个类实现此接口,分别表示圆形、正方形和矩形。这些类应具有以下特征: Circle 类应具有一个私有字段 radius 表示半径。 Square 类应具有一个私有字段 sideLength 表示边长。 Rectangle 类应具有两个私有字段 length 和 width 分别表示长度和宽度。 请在每个类中实现 getArea() 和 getPerimeter() 方法,以根据相应的形状计算并返回面积和周长。
时间: 2024-03-10 09:44:56 浏览: 83
Java:使用抽象类定义一个“形状类”,能够计算周长和面积。
好的,以下是实现该接口及三个类的代码:
```java
// Shape接口
public interface Shape {
double getArea(); // 返回形状的面积
double getPerimeter(); // 返回形状的周长
}
// Circle类
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
// Square类
public class Square implements Shape {
private double sideLength;
public Square(double sideLength) {
this.sideLength = sideLength;
}
@Override
public double getArea() {
return sideLength * sideLength;
}
@Override
public double getPerimeter() {
return 4 * sideLength;
}
}
// Rectangle类
public class Rectangle implements Shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double getArea() {
return length * width;
}
@Override
public double getPerimeter() {
return 2 * (length + width);
}
}
```
可以通过以下代码进行测试:
```java
public static void main(String[] args) {
Shape circle = new Circle(5.0);
Shape square = new Square(4.0);
Shape rectangle = new Rectangle(3.0, 5.0);
System.out.println("Circle Area: " + circle.getArea() + ", Perimeter: " + circle.getPerimeter());
System.out.println("Square Area: " + square.getArea() + ", Perimeter: " + square.getPerimeter());
System.out.println("Rectangle Area: " + rectangle.getArea() + ", Perimeter: " + rectangle.getPerimeter());
}
```
输出结果为:
```
Circle Area: 78.53981633974483, Perimeter: 31.41592653589793
Square Area: 16.0, Perimeter: 16.0
Rectangle Area: 15.0, Perimeter: 16.0
```
阅读全文