7-5 jmu-Java-03面向对象基础-03-形状
时间: 2025-07-06 13:50:32 浏览: 2
### 关于Java面向对象基础中的形状相关教学资料与练习题
#### 形状类的设计与实现
在Java编程中,`Shape` 类通常作为基类被定义,而具体的几何图形如 `Rectangle`, `Circle` 和 `RPentagon` 则继承自该基类。这种设计模式体现了面向对象编程中的多态性和继承特性。
对于矩形和圆形的具体实现如下:
```java
class Shape {
public double getArea() {
return 0;
}
public double getPerimeter() {
return 0;
}
}
class Rectangle extends Shape {
int width, length;
Rectangle(int w, int l) {
this.width = w;
this.length = l;
}
@Override
public String toString() {
return "Rectangle [width=" + width + ", length=" + length + "]";
}
@Override
public double getArea() {
return width * length;
}
@Override
public double getPerimeter() {
return 2 * (width + length);
}
}
```
圆的实现则为:
```java
class Circle extends Shape {
int radius;
Circle(int r) {
this.radius = r;
}
@Override
public String toString() {
return "Circle [radius=" + radius + "]";
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
```
五边形的实现也遵循类似的结构[^1]:
```java
class RPentagon extends Shape {
private double a;
RPentagon(double side) {
a = side;
}
@Override
public double getArea() {
return 0.25 * a * a * Math.sqrt(25 + 10 * Math.sqrt(5));
}
@Override
public double getPerimeter() {
return 5 * a;
}
}
```
这些代码片段展示了如何通过继承来扩展基本功能,并重写父类的方法以适应特定子类的需求。此外,在实际应用中还可以利用 `toString()` 方法来自动生成字符串表示形式,方便调试和日志记录[^2]。
为了更好地理解和掌握这一知识点,建议读者尝试编写更多不同类型的几何图形类并测试其行为;也可以参考教材或在线资源进一步学习有关接口、抽象类等内容,这些都是构建复杂软件系统不可或缺的知识点[^3]。
阅读全文
相关推荐















