创建一个TestPoly类,在该类中实现一个能够输出“任何几何体面积”的printArea方法,并使用这个方法演示输出圆形和矩形的面积。(除了测试类TestPoly,大家还要按需自行建立若干相应的类)
时间: 2024-11-13 12:27:51 浏览: 15
创建一个名为`TestPoly`的测试类,我们可以首先定义一个抽象基类`Shape`,它有一个抽象方法`printArea`表示所有形状的面积计算方法。然后,我们为具体的形状如`Circle`和`Rectangle`分别创建子类并实现`printArea`方法。
```java
// 抽象基类 Shape
public abstract class Shape {
public abstract void printArea();
}
// 圆形类 Circle
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public void printArea() {
double area = Math.PI * radius * radius;
System.out.println("圆形的面积: " + area);
}
}
// 矩形类 Rectangle
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public void printArea() {
double area = width * height;
System.out.println("矩形的面积: " + area);
}
}
// 测试类 TestPoly
public class TestPoly {
public static void main(String[] args) {
// 创建圆形实例并打印面积
Shape circle = new Circle(5);
circle.printArea();
// 创建矩形实例并打印面积
Shape rectangle = new Rectangle(4, 6);
rectangle.printArea();
}
}
```
在这个例子中,`TestPoly`类用于展示如何通过基类引用调用不同子类的`printArea`方法,体现了多态的概念。
阅读全文