4、 (1)创建一个接口Graph,有三个抽象方法:<1>计算周长的getPerimeter(),返回值是double类型;<2>计算面积的getArea(),返回值double;<了>获取图形 名称的show(),返回值是String。 (2)接口的实现类有Triangle(等边三角形)和Circle(圆形),实现了Graph类。 三角形有属性:名字,边长:圆有属性:名宇,半径,几取3.14。 (3)Triangle和Circle分别有构造方法,等边三角形的构造方法入参是名字、边长。 圆的构造方法入参是名字,半径。 (4)例如:调用等边三角形的show(方法,显示它的“名字”属性。调用getArea(获 取面积,公式为1/2*边长*(3/2*边长)。调用getPerimeter(获取周长。 (5)有一个月饼制作厂MoonCakeFactory,可以根据用户的需求,制作各个形状的 月饼。5)有Test4类,类中只有main方法。用java写
时间: 2024-02-25 17:58:05 浏览: 124
接口Graph的代码如下:
```java
public interface Graph {
double getPerimeter();
double getArea();
String show();
}
```
Triangle类的代码如下:
```java
public class Triangle implements Graph {
private String name;
private double side;
public Triangle(String name, double side) {
this.name = name;
this.side = side;
}
@Override
public double getPerimeter() {
return 3 * side;
}
@Override
public double getArea() {
return 0.5 * side * (1.5 * side);
}
@Override
public String show() {
return name;
}
}
```
Circle类的代码如下:
```java
public class Circle implements Graph {
private String name;
private double radius;
public Circle(String name, double radius) {
this.name = name;
this.radius = radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public String show() {
return name;
}
}
```
MoonCakeFactory类的代码如下:
```java
public class MoonCakeFactory {
public static Graph createTriangle(String name, double side) {
return new Triangle(name, side);
}
public static Graph createCircle(String name, double radius) {
return new Circle(name, radius);
}
}
```
Test4类的代码如下:
```java
public class Test4 {
public static void main(String[] args) {
Graph triangle = MoonCakeFactory.createTriangle("等边三角形", 4);
System.out.println(triangle.show());
System.out.println("周长:" + triangle.getPerimeter());
System.out.println("面积:" + triangle.getArea());
Graph circle = MoonCakeFactory.createCircle("圆形", 3);
System.out.println(circle.show());
System.out.println("周长:" + circle.getPerimeter());
System.out.println("面积:" + circle.getArea());
}
}
```
输出结果如下:
```
等边三角形
周长:12.0
面积:9.0
圆形
周长:18.84955592153876
面积:28.274333882308138
```
阅读全文