java 2. 自定义图形的面积和周长。 ★ 首先定义一个抽象类Shape,该类中包含两个抽象方法,一个是表示求面积的getArea(),另一个表示求周长的getPerimeter()。 ★ 然后通过继承来分别求出圆形、等边三角形、长方形的面积和周长。 ★ 最后定义主类,给出具体的值后输出一个圆形、一个等边三角形和一个长方形的面积和周长。
时间: 2024-03-23 14:39:38 浏览: 15
好的,以下是实现该功能的Java代码:
```java
// Shape.java
public abstract class Shape {
public abstract double getArea();
public abstract double getPerimeter();
}
// Circle.java
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
// EquilateralTriangle.java
public class EquilateralTriangle extends Shape {
private double sideLength;
public EquilateralTriangle(double sideLength) {
this.sideLength = sideLength;
}
@Override
public double getArea() {
return Math.sqrt(3) / 4 * sideLength * sideLength;
}
@Override
public double getPerimeter() {
return 3 * sideLength;
}
}
// Rectangle.java
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double getArea() {
return width * height;
}
@Override
public double getPerimeter() {
return 2 * (width + height);
}
}
// Main.java
public class Main {
public static void main(String[] args) {
Circle circle = new Circle(5);
EquilateralTriangle triangle = new EquilateralTriangle(6);
Rectangle rectangle = new Rectangle(4, 8);
System.out.println("Circle area: " + circle.getArea() + ", perimeter: " + circle.getPerimeter());
System.out.println("Equilateral triangle area: " + triangle.getArea() + ", perimeter: " + triangle.getPerimeter());
System.out.println("Rectangle area: " + rectangle.getArea() + ", perimeter: " + rectangle.getPerimeter());
}
}
```
在上面的代码中,我们首先定义了一个抽象类 `Shape`,其中包含了两个抽象方法 `getArea()` 和 `getPerimeter()`,分别用来计算图形的面积和周长。然后我们定义了三个具体的图形类 `Circle`、`EquilateralTriangle` 和 `Rectangle`,它们分别继承自 `Shape` 类,并实现了 `getArea()` 和 `getPerimeter()` 方法。在 `Main` 类中,我们创建了一个圆形、一个等边三角形和一个长方形对象,并输出它们的面积和周长。