7-5 多边形周长计算(继承)java
时间: 2024-12-25 11:24:37 浏览: 15
在Java中,通过继承可以实现多边形的通用性和灵活性。我们可以创建一个多边形的基类Polygon,并提供一个计算周长的基本方法,如`calculatePerimeter()`. 然后,对于具体的多边形,比如矩形、三角形等,我们可以在其子类中覆盖这个方法,提供各自的实现。
例如:
```java
// Polygon基类
public abstract class Polygon {
private double[] sides; // 边长数组
public Polygon(double[] sides) {
this.sides = sides;
}
// 公共方法
public abstract double calculatePerimeter();
// 共享的方法或属性
}
// 子类Rectangle(矩形)
public class Rectangle extends Polygon {
private double width, height;
public Rectangle(double[] sides) {
super(sides); // 调用父类构造函数
width = sides[0];
height = sides[1];
}
@Override
public double calculatePerimeter() {
return 2 * (width + height);
}
}
// 子类Triangle(三角形)
public class Triangle extends Polygon {
private double a, b, c; // 三边长度
public Triangle(double[] sides) {
super(sides);
a = sides[0];
b = sides[1];
c = sides[2];
}
@Override
public double calculatePerimeter() {
return a + b + c;
}
}
```
在这个例子中,`Rectangle`和`Triangle`都继承自`Polygon`,它们分别提供了自己的`calculatePerimeter()`实现,根据各自的特点计算周长。这样做的好处是,当我们需要处理不同类型的多边形时,只需实例化对应的子类即可,而无需关心每个形状的具体计算方式,体现了多态的灵活性。
阅读全文