基于Shape类定义矩形类Ranctangle和圆类Circle。圆类包含数据成员有半径,矩形类包含数据成员的有长、宽,每个类都要重写从Shape类继承的两个抽象方法getArea()和getCircum():计算并获取面积和周长。
时间: 2024-02-13 20:06:35 浏览: 56
定义一个圆类circle,它有一个变量radius(半径)。从键盘输入数据,通过构造函数的参数传递给radius,编程计算并输出圆的的周长和面积。但是,必须确保输入的数据不为复数。
5星 · 资源好评率100%
好的,以下是基于Shape类定义的Rectangle和Circle类:
```java
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;
}
}
```
在Rectangle类中,我们定义了length和width两个数据成员,并在构造函数中进行初始化。在getArea()方法中,我们直接返回长度和宽度的乘积,即矩形的面积;在getCircum()方法中,我们计算出矩形的周长,即2 * (length + width)。
在Circle类中,我们定义了radius一个数据成员,并在构造函数中进行初始化。在getArea()方法中,我们使用Math.PI计算出圆的面积;在getCircum()方法中,我们使用2 * Math.PI计算出圆的周长。
这样,Rectangle和Circle两个类都实现了从Shape类继承的两个抽象方法,即getArea()和getCircum()。并且在Shape类中定义的print()方法也可以直接在这两个类中使用。
阅读全文