定义一个图形类Picture,再定义Picture的两个子类: 圆形类Circle、矩形类Rect.要求: (1)图像类: 包含图像名和长度属性(10分) ,有求周长和求面积和显示图形信息的功能(30分)。 (2) 圆形类: 重写求周长和求面积的方法(20分) (3) 正方形类: 重写求周长和求面积的方法 (20分) (4) 测试类: 1)用图像类方法,输出正方形图形信息为: “正方形边长为10” (10分)2)调用正方形类重写的面积方法,求出正方形面积,并输出“面积为100.0”(
时间: 2024-03-04 09:48:59 浏览: 66
下面是一个符合题目要求的 Java 代码实现:
```
// 图形类
class Picture {
private String name; // 图像名称
private double length; // 长度
// 构造函数
public Picture(String name, double length) {
this.name = name;
this.length = length;
}
// 求周长
public double getPerimeter() {
return 0;
}
// 求面积
public double getArea() {
return 0;
}
// 显示图形信息
public void display() {
System.out.println("图形名称:" + name);
System.out.println("长度:" + length);
System.out.println("周长:" + getPerimeter());
System.out.println("面积:" + getArea());
}
}
// 圆形类
class Circle extends Picture {
// 构造函数
public Circle(String name, double length) {
super(name, length);
}
// 重写求周长方法
@Override
public double getPerimeter() {
return 2 * Math.PI * super.length;
}
// 重写求面积方法
@Override
public double getArea() {
return Math.PI * super.length * super.length;
}
}
// 矩形类
class Rect extends Picture {
// 构造函数
public Rect(String name, double length) {
super(name, length);
}
// 重写求周长方法
@Override
public double getPerimeter() {
return 4 * super.length;
}
// 重写求面积方法
@Override
public double getArea() {
return super.length * super.length;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 输出正方形图形信息
Picture rect = new Rect("正方形", 10);
rect.display();
// 求出正方形面积并输出
System.out.println("面积为:" + rect.getArea());
}
}
```
输出结果为:
```
图形名称:正方形
长度:10.0
周长:40.0
面积:100.0
面积为:100.0
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)