图形: (1)接口ShapeCompute,包含抽象方法getArea()、getPerimeter(),用于计算图形的面积和周长,包含display()方法用于显示图形的信息。 (2)定义类Rectangle(矩形)、类Circle(圆形)和类Triangle(三角
时间: 2023-11-21 22:04:10 浏览: 169
形)分别实现ShapeCompute接口,并重写其中的方法。具体代码如下:
```java
// ShapeCompute接口
public interface ShapeCompute {
// 计算面积
double getArea();
// 计算周长
double getPerimeter();
// 显示图形信息
void display();
}
// 矩形类
public class Rectangle implements ShapeCompute {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// 实现ShapeCompute接口的方法
public double getArea() {
return length * width;
}
public double getPerimeter() {
return 2 * (length + width);
}
public void display() {
System.out.println("矩形,长:" + length + ",宽:" + width + ",面积:" + getArea() + ",周长:" + getPerimeter());
}
}
// 圆形类
public class Circle implements ShapeCompute {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
// 实现ShapeCompute接口的方法
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
public void display() {
System.out.println("圆形,半径:" + radius + ",面积:" + getArea() + ",周长:" + getPerimeter());
}
}
// 三角形类
public class Triangle implements ShapeCompute {
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
// 实现ShapeCompute接口的方法
public double getArea() {
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
public double getPerimeter() {
return a + b + c;
}
public void display() {
System.out.println("三角形,三边长为:" + a + "、" + b + "、" + c + ",面积:" + getArea() + ",周长:" + getPerimeter());
}
}
```
这样,我们就定义了三个类分别对应矩形、圆形和三角形,并且这三个类都实现了ShapeCompute接口,可以进行面积和周长的计算以及图形信息的显示。
阅读全文