使用抽象类的概念和方法完成程序,程序要求: (1)首先创建一个类家族,其中抽象类几何图形类geometricobject为父类,圆类circle和矩形类rectangle为子类。几何图形类geometricobject中定义保护型字符串变量color,表示图形的颜色;该类要具备构造方法和两个抽象方法findarea和findperimeter,抽象方法findarea求图形面积,抽象方法findperimeter求图形周长。 (2)circle类和rectangle类是geometricobject类的子类,其中应实现父类的抽象方法。 (3)程序主方法中创建两个几何对象:一个圆和一个矩形,并用geometricobject类的引用变量引用他们,调用抽象方法。
时间: 2024-03-01 18:54:32 浏览: 114
好的,这是一个使用抽象类的概念和方法的Java程序示例:
```java
// 定义抽象类 GeometricObject
abstract class GeometricObject {
protected String color; // 颜色
// 构造方法
public GeometricObject(String color) {
this.color = color;
}
// 抽象方法:求面积
public abstract double findArea();
// 抽象方法:求周长
public abstract double findPerimeter();
}
// 定义子类 Circle
class Circle extends GeometricObject {
protected double radius; // 半径
// 构造方法
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
// 实现抽象方法:求面积
@Override
public double findArea() {
return Math.PI * radius * radius;
}
// 实现抽象方法:求周长
@Override
public double findPerimeter() {
return 2 * Math.PI * radius;
}
}
// 定义子类 Rectangle
class Rectangle extends GeometricObject {
protected double width; // 宽
protected double height; // 高
// 构造方法
public Rectangle(String color, double width, double height) {
super(color);
this.width = width;
this.height = height;
}
// 实现抽象方法:求面积
@Override
public double findArea() {
return width * height;
}
// 实现抽象方法:求周长
@Override
public double findPerimeter() {
return 2 * (width + height);
}
}
// 测试主程序
public class Test {
public static void main(String[] args) {
// 创建一个 Circle 对象
GeometricObject circle = new Circle("Red", 5.0);
System.out.println("Circle Area: " + circle.findArea());
System.out.println("Circle Perimeter: " + circle.findPerimeter());
// 创建一个 Rectangle 对象
GeometricObject rectangle = new Rectangle("Green", 3.0, 4.0);
System.out.println("Rectangle Area: " + rectangle.findArea());
System.out.println("Rectangle Perimeter: " + rectangle.findPerimeter());
}
}
```
这个程序定义了一个抽象类 `GeometricObject`,表示几何图形,其中包含一个颜色属性和两个抽象方法 `findArea` 和 `findPerimeter`,分别用于求图形的面积和周长。然后定义了两个子类 `Circle` 和 `Rectangle`,分别表示圆和矩形,实现了父类的抽象方法。最后在主程序中创建了一个圆对象和一个矩形对象,并调用了它们的抽象方法。
阅读全文