java编程实现:两个类,一个三角形、一个四边形,每个有计算面积和周长的函数,有边长等变量,请设计四边形对三角形的继承,利用对象访问,实现四边形的周长、面积函数,输出运行结果。
时间: 2024-10-22 11:27:30 浏览: 35
对象和类数组与方法 实验代码第六版实验
在Java中,我们可以创建一个`Shape`抽象类作为它们的父类,然后分别定义`Triangle`和`Quadrilateral`作为具体的形状类。`Quadrilateral`会继承自`Shape`并添加额外的属性和方法。以下是基本的设计:
```java
// Shape抽象类
abstract class Shape {
abstract double getArea(); // 返回形状的面积
abstract double getPerimeter(); // 返回形状的周长
protected double sideLength; // 共享的边长
}
// Triangle类
class Triangle extends Shape {
public Triangle(double a) { // 初始化一个三角形,a是边长
sideLength = a;
}
@Override
double getArea() {
// 三角形面积公式...
return 0.5 * sideLength * sideLength; // 假设这是一个直角三角形,实际请替换为正确的公式
}
@Override
double getPerimeter() {
return 3 * sideLength; // 假设三边长度相等
}
}
// Quadrilateral类,继承自Shape
class Quadrilateral extends Shape {
private double[] sides; // 四边形四个边长
public Quadrilateral(double[] sides) {
this.sides = sides;
}
@Override
double getArea() {
// 四边形面积公式...
return // 实现公式,例如对于矩形或梯形有不同的算法
}
@Override
double getPerimeter() {
return Arrays.stream(sides).sum();
}
}
public class Main {
public static void main(String[] args) {
Triangle triangle = new Triangle(5); // 创建一个边长为5的三角形实例
System.out.println("Triangle area: " + triangle.getArea());
System.out.println("Triangle perimeter: " + triangle.getPerimeter());
Quadrilateral quadrilateral = new Quadrilateral(new double[]{3, 4, 5, 6}); // 创建一个四边形,假设边长分别为3, 4, 5, 6
System.out.println("Quadrilateral area: " + quadrilateral.getArea());
System.out.println("Quadrilateral perimeter: " + quadrilateral.getPerimeter());
}
}
```
阅读全文