定义一个表示圆的类Circle,构建合理的方法和变量;定义一个名为Cylinder类表示圆柱,它继承Circle类,要求定义一个变量height表示圆柱高度。覆盖getArea()方法求圆柱的表面积,定义getVolume()方法求圆柱体积。定义默认构造方法和带radius和height两个参数的构造方法。编写测试程序,提示用户输入圆柱的底面圆的半径和高度,程序创建一个圆柱对象,计算并输出圆柱表面积和体积。用UML图画出类及其关系。
- 画出UML图:
2.编写父类Circle类,代码如下:
package day1;
import java.util.Scanner;
public class Circle {
double radius;
public double area() {
return radius*radius*3.14;
}
public double getRadius() {
return radius;
}
public void setRadius() {
System.out.println("请输入底面面的半径:");
Scanner sc =new Scanner(System.in);
radius=sc.nextDouble();
}
}
3. 编写子类Cylinder继承父类Circle类,具体代码如下图所示:
package day1;
import java.util.Scanner;
public class Cylinder extends Circle {
double height;
public double getLength() {
return 2*3.14*radius;
}
public double getVolume() {
return height*area();
}
public double getArea() {
return 2*area()+height*getLength();
}
public double getHeight() {
return height;
}
public void setHeight() {
System.out.println("请输入圆柱的高:");
Scanner sc =new Scanner(System.in);
height=sc.nextDouble();
}
public static void main(String[] args) {
Cylinder a=new Cylinder();
a.setRadius();
a.setHeight();
System.out.println("圆柱的表面积为:"+a.getArea());
System.out.println("圆柱的体积为:"+a.getVolume());
}
}
4. 运行代码并检测: