设计一个IShape接口和它的三个实现类,要求如下: lIshape接口中有两个方法,area方法用于返回面积,perimeter 方法返回周长。 l正方形类Square、长方形类Rectangle和圆类Circle实现了接口 中的抽象方法,计算了正方形、长方形及圆形的面积、周长。 u在测试类中创建计算边长为2的正方形对象,创建长为5、宽为 2.5的长方形对象,创建半径为3的圆形对象,分别计算它们的面 积、周长。java
时间: 2024-02-20 11:56:02 浏览: 82
好的,以下是实现代码。
IShape.java
```java
public interface IShape {
double area(); // 返回面积
double perimeter(); // 返回周长
}
```
Square.java
```java
public class Square implements IShape {
private double side;
public Square(double side) {
this.side = side;
}
@Override
public double area() {
return side * side;
}
@Override
public double perimeter() {
return 4 * side;
}
}
```
Rectangle.java
```java
public class Rectangle implements IShape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double area() {
return length * width;
}
@Override
public double perimeter() {
return 2 * (length + width);
}
}
```
Circle.java
```java
public class Circle implements IShape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
@Override
public double perimeter() {
return 2 * Math.PI * radius;
}
}
```
Test.java
```java
public class Test {
public static void main(String[] args) {
Square square = new Square(2);
Rectangle rectangle = new Rectangle(5, 2.5);
Circle circle = new Circle(3);
System.out.println("正方形的面积是:" + square.area());
System.out.println("正方形的周长是:" + square.perimeter());
System.out.println("长方形的面积是:" + rectangle.area());
System.out.println("长方形的周长是:" + rectangle.perimeter());
System.out.println("圆形的面积是:" + circle.area());
System.out.println("圆形的周长是:" + circle.perimeter());
}
}
```
输出结果为:
```
正方形的面积是:4.0
正方形的周长是:8.0
长方形的面积是:12.5
长方形的周长是:15.0
圆形的面积是:28.274333882308138
圆形的周长是:18.84955592153876
```
阅读全文