Java中定义一个图形类Picture,再定义Picture的两个子类:圆形类Circle、矩形类Rect。 要求: (1)图像类:包含图像名和长度属性(10分),有求周长和求面积和显示图形信息的功能(30分)。 (2)圆形类:重写求周长和求面积的方法(20分)。 (3)正方形类:重写求周长和求面积的方法(20分)。 (4)测试类: 1)调用图像类方法,输出正方形图形信息为:“正方形边长为10”(10分) 2)调用正方形类重写的面积方法,求出正方形面积,并输出“面积为100.0”(10分)
时间: 2024-01-18 20:02:28 浏览: 27
好的,这是一个面向对象的编程题目,我可以帮您解答。下面是Java代码实现:
```
class Picture {
String name;
double length;
Picture(String name, double length) {
this.name = name;
this.length = length;
}
double getPerimeter() {
return 0;
}
double getArea() {
return 0;
}
void showInfo() {
System.out.println(name + "的长度为" + length);
}
}
class Circle extends Picture {
double radius;
Circle(String name, double length, double radius) {
super(name, length);
this.radius = radius;
}
double getPerimeter() {
return 2 * 3.14 * radius;
}
double getArea() {
return 3.14 * radius * radius;
}
}
class Rect extends Picture {
double width;
Rect(String name, double length, double width) {
super(name, length);
this.width = width;
}
double getPerimeter() {
return 2 * (length + width);
}
double getArea() {
return length * width;
}
}
public class Test {
public static void main(String[] args) {
Rect rect = new Rect("正方形", 10, 10);
rect.showInfo();
System.out.println("面积为" + rect.getArea());
}
}
```
首先定义了一个Picture类作为父类,包含图像名和长度属性,还有求周长和求面积和显示图形信息的功能。Circle和Rect继承自Picture,并且重写了求周长和求面积的方法。最后在测试类中,调用了图像类的方法,输出了正方形图形信息,调用了正方形类重写的面积方法,求出正方形面积,并输出了结果。
输出结果为:
```
正方形的长度为10.0
面积为100.0
```