Java写定义一个图形类 Picture, 再定义Picture 的两个子类:圆形类 Circle、矩形类1 求:图像类:有求周长和求面积和显示图形信息的功能。圆形类:包含园心和半 求周长和求面积的方法。短形类:包含长和宽,重写求周长和求面积的方法。
时间: 2024-02-09 22:10:30 浏览: 23
好的,根据您的要求,我可以给出如下的Java代码实现:
```
public abstract class Picture {
protected String shapeType; // 图形类型
public Picture(String type) {
shapeType = type;
}
public abstract double getArea(); // 抽象方法,求面积
public abstract double getPerimeter(); // 抽象方法,求周长
public void displayInfo() { // 显示图形信息
System.out.println("This is a " + shapeType + " picture.");
System.out.println("Area: " + getArea());
System.out.println("Perimeter: " + getPerimeter());
}
}
public class Circle extends Picture {
private double centerX; // 圆心横坐标
private double centerY; // 圆心纵坐标
private double radius; // 半径
public Circle(double x, double y, double r) {
super("Circle");
centerX = x;
centerY = y;
radius = r;
}
public double getArea() { // 求面积
return Math.PI * Math.pow(radius, 2);
}
public double getPerimeter() { // 求周长
return 2 * Math.PI * radius;
}
}
public class Rectangle extends Picture {
private double length; // 长
private double width; // 宽
public Rectangle(double l, double w) {
super("Rectangle");
length = l;
width = w;
}
public double getArea() { // 求面积
return length * width;
}
public double getPerimeter() { // 求周长
return 2 * (length + width);
}
}
public class Test {
public static void main(String[] args) {
Circle c = new Circle(0, 0, 5);
c.displayInfo();
Rectangle r = new Rectangle(3, 4);
r.displayInfo();
}
}
```
这段代码定义了一个 `Picture` 抽象类作为图形的父类,其中包含了求周长、求面积和显示图形信息的抽象方法。然后又定义了 `Circle` 和 `Rectangle` 两个子类,分别继承了 `Picture` 类,并实现了父类中的抽象方法。在 `main()` 函数中,我们创建了一个圆形对象和一个矩形对象,分别调用它们的 `displayInfo()` 函数以显示它们的信息。