编写java语言★ 首先定义一个抽象类Shape,该类中包含两个抽象方法,一个是表示求面积的getArea(),另一个表示求周长的getPerimeter()。 ★ 然后通过继承来分别求出圆形、等边三角形、长方形的面积和周长。 ★ 最后定义主类,给出具体的值后输出一个圆形、一个等边三角形和一个长方形的面积和周长。
时间: 2024-03-22 21:39:49 浏览: 59
设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法
5星 · 资源好评率100%
下面是代码实现:
```java
// 定义抽象类Shape
abstract class Shape {
public abstract double getArea(); // 求面积的抽象方法
public abstract double getPerimeter(); // 求周长的抽象方法
}
// 圆形类
class Circle extends Shape {
private double radius; // 半径
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
// 等边三角形类
class EquilateralTriangle extends Shape {
private double side; // 边长
public EquilateralTriangle(double side) {
this.side = side;
}
public double getArea() {
return Math.sqrt(3) / 4 * side * side;
}
public double getPerimeter() {
return 3 * side;
}
}
// 长方形类
class Rectangle extends Shape {
private double length; // 长
private double width; // 宽
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
public double getArea() {
return length * width;
}
public double getPerimeter() {
return 2 * (length + width);
}
}
// 主类
public class Main {
public static void main(String[] args) {
Circle circle = new Circle(5);
EquilateralTriangle triangle = new EquilateralTriangle(4);
Rectangle rectangle = new Rectangle(3, 5);
// 输出圆形、等边三角形和长方形的面积和周长
System.out.println("圆形的面积为:" + circle.getArea());
System.out.println("圆形的周长为:" + circle.getPerimeter());
System.out.println("等边三角形的面积为:" + triangle.getArea());
System.out.println("等边三角形的周长为:" + triangle.getPerimeter());
System.out.println("长方形的面积为:" + rectangle.getArea());
System.out.println("长方形的周长为:" + rectangle.getPerimeter());
}
}
```
输出结果为:
```
圆形的面积为:78.53981633974483
圆形的周长为:31.41592653589793
等边三角形的面积为:6.928203230275509
等边三角形的周长为:12.0
长方形的面积为:15.0
长方形的周长为:16.0
```
阅读全文