图形类及其矩形类和圆类的实现
时间: 2023-08-16 10:04:29 浏览: 558
好的,这里是图形类及其矩形类和圆类的实现:
```java
public abstract class Shape {
public abstract double getArea();
public abstract double getCircum();
public void print() {
System.out.println("面积:" + getArea() + ",周长:" + getCircum());
}
}
public class Rectangle extends Shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double getArea() {
return length * width;
}
@Override
public double getCircum() {
return 2 * (length + width);
}
}
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getCircum() {
return 2 * Math.PI * radius;
}
}
```
在这里,我们定义了一个抽象类Shape,其中包含两个抽象方法getArea()和getCircum(),分别用于计算图形的面积和周长。由于Shape类是抽象类,因此不能直接实例化。而是需要通过继承Shape类的子类来实现具体的图形类。
在Rectangle类和Circle类中,我们分别继承了Shape类,并重写了其中的getArea()和getCircum()方法。在Rectangle类中,我们定义了length和width两个数据成员,分别表示矩形的长和宽。在getArea()方法中,我们直接返回长度和宽度的乘积,即矩形的面积;在getCircum()方法中,我们计算出矩形的周长,即2 * (length + width)。在Circle类中,我们定义了radius一个数据成员,表示圆的半径。在getArea()方法中,我们使用Math.PI计算出圆的面积;在getCircum()方法中,我们使用2 * Math.PI计算出圆的周长。
由于Rectangle类和Circle类都继承了Shape类,因此它们都具有print()方法,可以用于输出图形的面积和周长。
阅读全文