练习-Java继承和多态之子类继承性/** * 任务:定义一个矩形 Rectangle 类,继承 Shape 类, * 在这个类中分别定义一个名为 area 的方法,实现计算该形状面积的功能。 * 类名为:Rectangle */ // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码 /********** Begin **********/ // 定义一个Rectangle的公开类,并继承Shape类 // 定义一个area方法,实现计算矩形面积的功能。 /********** End **********/
时间: 2025-06-01 20:16:43 浏览: 18
### Java继承与多态示例:Rectangle继承Shape并实现area方法
在Java中,继承是一种重要的面向对象编程机制,它允许子类从父类继承属性和方法。通过多态性,程序可以根据对象的实际类型调用相应的方法实现[^2]。以下是一个完整的代码示例,展示了如何定义一个`Shape`类作为父类,并让`Rectangle`类继承自它,同时实现`getArea()`方法。
#### 父类:Shape
```java
public class Shape {
protected String color;
// 构造方法
public Shape(String color) {
this.color = color;
}
// 获取颜色的方法
public String getColor() {
return color;
}
// 抽象方法,用于计算面积
public double getArea() {
return 0; // 默认返回0,子类需重写该方法
}
}
```
#### 子类:Rectangle
```java
public class Rectangle extends Shape {
private double length;
private double width;
// 构造方法,调用父类构造方法初始化color属性
public Rectangle(String color, double length, double width) {
super(color); // 调用父类构造方法
this.length = length;
this.width = width;
}
// 实现getArea方法,计算矩形的面积
@Override
public double getArea() {
return length * width; // 面积公式为长乘以宽
}
// 提供额外方法,例如获取周长
public double getCircumference() {
return 2 * (length + width); // 周长公式为2*(长+宽)
}
}
```
#### 测试类:TestRectangle
```java
public class TestRectangle {
public static void main(String[] args) {
// 创建Rectangle对象
Rectangle r1 = new Rectangle("Red", 9, 10);
Rectangle r2 = new Rectangle("Blue", 2, 8);
// 调用方法并打印结果
System.out.println("Rectangle 1 Color: " + r1.getColor());
System.out.println("Rectangle 1 Area: " + r1.getArea());
System.out.println("Rectangle 1 Circumference: " + r1.getCircumference());
System.out.println("Rectangle 2 Color: " + r2.getColor());
System.out.println("Rectangle 2 Area: " + r2.getArea());
}
}
```
在这个示例中,`Shape`类是一个抽象类,包含了一个通用的`getArea()`方法,其默认实现返回0。`Rectangle`类继承了`Shape`类,并提供了具体的`getArea()`实现[^1]。此外,`Rectangle`类还实现了计算周长的方法`getCircumference()`[^3]。
阅读全文
相关推荐


















