用接口、多态、继承、类计算三角形和矩形周长及面积的方法
时间: 2023-12-29 21:05:14 浏览: 147
好的,这个问题是关于计算图形周长及面积的编程问题,我可以回答。这里我假设您已经了解了Java编程语言。
我们可以定义两个类:Triangle(三角形)和Rectangle(矩形)。这两个类都继承自Shape(形状)类。在Shape类中,我们定义周长和面积的抽象方法,这能够确保Triangle和Rectangle类都必须实现这两个方法。
下面是代码:
```java
abstract class Shape {
public abstract double getArea();
public abstract double getPerimeter();
}
class Triangle extends Shape {
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
@Override
public double getArea() {
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
@Override
public double getPerimeter() {
return a + b + c;
}
}
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 (width + height) * 2;
}
}
```
这里我们定义了Shape类作为基础类,包含了计算周长和面积的抽象方法。然后Triangle和Rectangle类都继承自Shape类,并且实现它的抽象方法。
我们可以在main方法中创建Triangle和Rectangle对象,并分别调用它们的getArea和getPerimeter方法来计算它们的周长和面积。
```java
public static void main(String[] args) {
Triangle triangle = new Triangle(3, 4, 5);
System.out.println("Triangle area: " + triangle.getArea());
System.out.println("Triangle perimeter: " + triangle.getPerimeter());
Rectangle rectangle = new Rectangle(4, 5);
System.out.println("Rectangle area: " + rectangle.getArea());
System.out.println("Rectangle perimeter: " + rectangle.getPerimeter());
}
```
输出结果如下:
```
Triangle area: 6.0
Triangle perimeter: 12.0
Rectangle area: 20.0
Rectangle perimeter: 18.0
```
以上就是用接口、多态、继承、类计算三角形和矩形周长及面积的方法。希望对您有所帮助。
阅读全文