用Java写定义一个图形类Picture,再定义Picture的两个子类:圆形类Circle、矩形类Rect。 要求: (1)图像类:包含图像名和长度属性(10分),有求周长和求面积和显示图形信息的功能(30分)。 (2)圆形类:重写求周长和求面积的方法(20分)。 (3)正方形类:重写求周长和求面积的方法(20分)。 (4)测试类: 1)调用图像类方法,输出正方形图形信息为:“正方形边长为10”(10分) 2)调用正方形类重写的面积方法,求出正方形面积,并输出“面积为100.0”(10分)
时间: 2024-01-14 16:05:14 浏览: 110
好的,以下是Java代码实现:
```
// 图形类
public class Picture {
private String name;
private double length;
public Picture(String name, double length) {
this.name = name;
this.length = length;
}
public double getLength() {
return length;
}
public double getArea() {
return 0;
}
public double getCircumference() {
return 0;
}
public void display() {
System.out.println("图形名为:" + name);
}
}
// 圆形类
public class Circle extends Picture {
public Circle(String name, double length) {
super(name, length);
}
@Override
public double getArea() {
return Math.PI * getLength() * getLength() / 4;
}
@Override
public double getCircumference() {
return Math.PI * getLength();
}
}
// 矩形类
public class Rect extends Picture {
public Rect(String name, double length) {
super(name, length);
}
@Override
public double getArea() {
return getLength() * getLength();
}
@Override
public double getCircumference() {
return 4 * getLength();
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Picture picture = new Picture("正方形", 10);
picture.display();
System.out.println(picture.getArea());
Rect rect = new Rect("正方形", 10);
rect.display();
System.out.println(rect.getArea());
}
}
```
输出结果为:
```
图形名为:正方形
0.0
图形名为:正方形
100.0
```
阅读全文