java中先设计一个长方形类,计算面积和周长的方法,再通过继承长方形类设计一个正方形类,正方形类中通过重写父类的方法得到一些新的功能
时间: 2024-10-29 18:14:49 浏览: 16
Java:使用抽象类定义一个“形状类”,能够计算周长和面积。
在Java中,首先我们可以创建一个名为`Rectangle`的长方形类,它包含长度`length`和宽度`width`两个属性,以及计算面积`getArea()`和周长`getPerimeter()`的方法:
```java
public class Rectangle {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
public double getArea() {
return length * width;
}
public double getPerimeter() {
return 2 * (length + width);
}
}
```
然后,我们创建一个名为`Square`的正方形类,它是`Rectangle`类的子类,因为正方形是一种特殊的长方形,所以我们可以重写`Rectangle`的`length`和`width`属性为相同的值,同时保持`getArea()`和`getPerimeter()`方法的原始功能:
```java
public class Square extends Rectangle {
public Square(double sideLength) {
super(sideLength, sideLength); // 调用父类构造函数传入边长
}
@Override // 重写父类的length和width属性
public void setSideLength(double sideLength) {
length = width = sideLength;
}
// 如果有特定于正方形的功能,可以添加新的方法
public double getCircumference() { // 假设正方形有圆周率倍的周长
return 4 * Math.PI * length;
}
}
```
在这个例子中,正方形类不仅继承了长方形的通用性质,还通过重写实现了自己的特色功能(如计算圆周)。
阅读全文