编写一个程序计算出圆柱体的体积,要求定义一个基类shape,包含受保护的成员变量radius,及其相应的get和set方法,以及一个包含一个参数的构造器。
时间: 2024-10-20 22:05:18 浏览: 41
在Java中,你可以按照以下步骤创建一个基础形状类`Shape`,然后为圆柱体创建一个子类`Cylinder`,并计算其体积。这里我们将使用保护访问级别(protected)以便于子类访问父类的属性。
首先,我们定义基础形状类`Shape`:
```java
public class Shape {
protected double radius; // 受保护的半径成员变量
// 构造器接受半径参数
public Shape(double radius) {
this.radius = radius;
}
// Getters and Setters
protected double getRadius() {
return radius;
}
protected void setRadius(double radius) {
if (radius >= 0) { // 验证半径值是否合理
this.radius = radius;
} else {
throw new IllegalArgumentException("Radius cannot be negative");
}
}
}
```
接下来,我们创建一个圆柱体类`Cylinder`,继承自`Shape`并添加计算体积的方法:
```java
public class Cylinder extends Shape {
private double height; // 圆柱的高度
// 构造器接受半径和高度参数
public Cylinder(double radius, double height) {
super(radius); // 调用父类构造器传入半径
this.height = height;
}
// 计算圆柱体积
public double calculateVolume() {
return Math.PI * Math.pow(radius, 2) * height;
}
// Getters and Setters for height (if needed)
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
}
```
现在,你可以创建`Cylinder`实例并计算其体积:
```java
public static void main(String[] args) {
Cylinder cylinder = new Cylinder(5.0, 10.0);
cylinder.setRadius(4.5); // 设置半径
double volume = cylinder.calculateVolume();
System.out.println("Cylinder volume: " + volume);
}
```
阅读全文