java类的继承与多态编写类Shape表示图形。 getArea方法求圆的面积,getPerimeter求圆的周长。
时间: 2024-11-05 19:24:15 浏览: 114
在Java中,我们可以创建一个名为`Shape`的基础类来表示一般的图形,并包含两个通用的方法`getArea()`和`getPerimeter()`。这两个方法是抽象的,因为它们没有具体的实现,以便于子类去覆盖它们并提供特定形状的计算方法。
```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; // 圆形周长计算公式
}
}
```
在这个例子中,`Circle`类继承自`Shape`,并且实现了`getArea()`和`getPerimeter()`方法的具体实现。当你有一个`Circle`对象时,你可以通过它作为`Shape`类型的引用来调用`getArea()`和`getPerimeter()`,这体现了多态性——尽管实际执行的是`Circle`类的方法。
阅读全文