创建一个接口Graph, 有三个抽象方法: <1>计算周长的getPerimeter(),返回值是double类型; <2>计算面积的getArea(),返回值double;<3>获取图形名称的show(), 返回值是String 。 (2)接口的实现类有Triangle(等边三角形)和Circle(圆形),实现了Graph类。三角形有属性:名字,边长;圆有属性:名字,半径, π取3.14。 (3)Triangle 和 Circle分别有构造方法, 等边三角形的构造方法入参是名字、边长。圆的构造方法入参是名字,半径。 (4)例如:调用等边三角形的show()方法,显示它的“名字”属性。调用getArea()获取面积, 公式为 1/2 * 边长 * (√3 /2 * 边长)。调用getPerimeter()获取周长。、
时间: 2024-02-25 19:56:14 浏览: 110
设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法
5星 · 资源好评率100%
好的,下面是 Graph 接口和 Triangle、Circle 类的代码实现:
```
public interface Graph {
double getPerimeter(); // 计算周长的抽象方法,返回值是 double 类型
double getArea(); // 计算面积的抽象方法,返回值是 double 类型
String show(); // 获取图形名称的抽象方法,返回值是 String 类型
}
public class Triangle implements Graph {
private String name;
private double sideLength;
public Triangle(String name, double sideLength) {
this.name = name;
this.sideLength = sideLength;
}
@Override
public double getPerimeter() {
return 3 * sideLength;
}
@Override
public double getArea() {
return 0.5 * sideLength * sideLength * Math.sqrt(3) / 4;
}
@Override
public String show() {
return name;
}
}
public class Circle implements Graph {
private String name;
private double radius;
private static final double PI = 3.14;
public Circle(String name, double radius) {
this.name = name;
this.radius = radius;
}
@Override
public double getPerimeter() {
return 2 * PI * radius;
}
@Override
public double getArea() {
return PI * radius * radius;
}
@Override
public String show() {
return name;
}
}
```
在 Triangle 类中,实现了 Graph 接口,并提供了具体的实现。Triangle 类有两个属性,分别是名字和边长。在 Circle 类中,同样实现了 Graph 接口,并提供了具体的实现。Circle 类有三个属性,分别是名字、半径和 π 的值。在 Graph 接口中,定义了计算周长、计算面积和获取图形名称的三个抽象方法。在 Triangle 和 Circle 类中,分别提供了具体的实现。
例如,调用等边三角形的 `show()` 方法,可以获取它的“名字”属性。调用 `getArea()` 方法可以获取面积,公式为 1/2 * 边长 * (√3 /2 * 边长)。调用 `getPerimeter()` 方法可以获取周长。
阅读全文