编程实现,要求如下:
(1) 设计圆类Circle,类中定义变量半径r,两个构造方方法(不带参数的和带一个参数的),同时还有计算圆的周长(perimeter())和面积(area())的方法;
(2) 设计圆柱的类Cylinder,继承圆类Circle,增加了圆柱的高h属性,定义带一个参数和带两个参数的构造方法,同时有计算圆柱的表面积(area())和体积(volume())的方法;
(3) 测试:求半径r=10,高h=100的圆柱的表面积和体积。
1. 圆类Circle
public class Circle {
private double r;//半径
final double PI=3.14;
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
public Circle() {};//不带参数的构造方法
public Circle(double r) {//带一个参数的构造方法
this.r=r;
}
public double perimeter() {//周长
return 2*PI*r;
}
public double area() {//面积
return PI*r*r;
}
}
2. 圆柱的类Cylinder
public class Cylinder extends Circle {
private double h;//高
public double getH() {
return h;
}
public void setH(double h) {//带一个参数的构造方法
this.h = h;
}
public Cylinder(double r,double h) {//带两个参数的构造方法
super(r);
this.h=h;
}
public double area() {//表面积
return 2*super.area()+h*perimeter();
}
public double volume() {//体积
return perimeter()*h;
}
}
3.测试类
public class CTest {
public static void main(String[] args) {
Cylinder c=new Cylinder(10,100);
System.out.println("半径为10,高为100的圆柱的表面积为:"+c.area());
System.out.println("半径为10,高为100的圆柱的体积为:"+c.volume());
}
}