利用JAVA定义一个图形接口,包含周长和面积方法。声明三角形、矩形和圆形类,接着定义一个颜色接口,可以绘制红、绿、蓝三种颜色。让上述的三种图形也实现该接口。,
时间: 2023-11-24 17:53:22 浏览: 210
tuxing.rar_java tuxing
以下是Java定义图形接口、三角形、矩形和圆形类以及颜色接口的代码实现:
```java
// 定义图形接口
interface Shape {
double getPerimeter(); // 计算周长
double getArea(); // 计算面积
}
// 定义三角形类
class Triangle implements Shape, Color {
private double a, b, c; // 三角形三条边长
private String color; // 三角形颜色
public Triangle(double a, double b, double c, String color) {
this.a = a;
this.b = b;
this.c = c;
this.color = color;
}
public double getPerimeter() {
return a + b + c;
}
public double getArea() {
double p = getPerimeter() / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
public void draw() {
System.out.println("Draw a " + color + " triangle.");
}
}
// 定义矩形类
class Rectangle implements Shape, Color {
private double length, width; // 矩形长和宽
private String color; // 矩形颜色
public Rectangle(double length, double width, String color) {
this.length = length;
this.width = width;
this.color = color;
}
public double getPerimeter() {
return 2 * (length + width);
}
public double getArea() {
return length * width;
}
public void draw() {
System.out.println("Draw a " + color + " rectangle.");
}
}
// 定义圆形类
class Circle implements Shape, Color {
private double radius; // 圆形半径
private String color; // 圆形颜色
public Circle(double radius, String color) {
this.radius = radius;
this.color = color;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public void draw() {
System.out.println("Draw a " + color + " circle.");
}
}
// 定义颜色接口
interface Color {
void draw(); // 绘制图形
}
```
以上代码实现了图形接口、三角形、矩形和圆形类以及颜色接口的定义和实现。其中,图形接口包含计算周长和面积的抽象方法,三角形、矩形和圆形类分别实现了图形接口和颜色接口,颜色接口包含绘制图形的抽象方法。用户可以根据需要创建三角形、矩形和圆形对象,并调用它们的方法计算周长和面积,也可以调用它们的绘制方法绘制不同颜色的图形。
阅读全文