首先创建一个类家族,其中抽象类几何图形类geometricobject为父类,圆类circle和矩形类rectangle为子类。几何图形类geometricobject中定义保护型字符串变量color,表示图形的颜色;该类要具备构造方法和两个抽象方法findarea和findperimeter,抽象方法findarea求图形面积,抽象方法findperimeter求图形周长。 (2)circle类和rectangle类是geometricobject类的子类,其中应实现父类的抽象方法。 (3)程序主方法中创建两个几何对象:一个圆和一个矩形,并用geometricobject类的引用变量引用他们,调用抽象方法。java
时间: 2024-03-01 11:50:26 浏览: 105
好的,以下是符合你要求的 Java 代码:
```
// 定义抽象类 GeometricObject
public abstract class GeometricObject {
protected String color;
public GeometricObject(String color) {
this.color = color;
}
public abstract double findArea();
public abstract double findPerimeter();
}
// 定义圆类 Circle
public class Circle extends GeometricObject {
private double radius;
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
public double findArea() {
return Math.PI * radius * radius;
}
public double findPerimeter() {
return 2 * Math.PI * radius;
}
}
// 定义矩形类 Rectangle
public class Rectangle extends GeometricObject {
private double width;
private double height;
public Rectangle(String color, double width, double height) {
super(color);
this.width = width;
this.height = height;
}
public double findArea() {
return width * height;
}
public double findPerimeter() {
return 2 * (width + height);
}
}
// 主方法
public class Main {
public static void main(String[] args) {
// 创建一个圆和一个矩形对象
GeometricObject circle = new Circle("红色", 5);
GeometricObject rectangle = new Rectangle("蓝色", 4, 3);
// 使用 GeometricObject 类的引用变量调用抽象方法
GeometricObject[] objects = {circle, rectangle};
for (GeometricObject obj : objects) {
System.out.println("该图形的颜色是:" + obj.color);
System.out.println("该图形的面积是:" + obj.findArea());
System.out.println("该图形的周长是:" + obj.findPerimeter());
}
}
}
```
输出结果为:
```
该图形的颜色是:红色
该图形的面积是:78.53981633974483
该图形的周长是:31.41592653589793
该图形的颜色是:蓝色
该图形的面积是:12.0
该图形的周长是:14.0
```
阅读全文