设计一个圆类Circle,具有属性:圆心坐标x和y及圆半径r,除具有设置和获取属性的方法外,还具有计算周长的方法perimeter()和计算面积的方法area()。再设计一个圆柱类Cylinder,Cylinder类继承自Circle类,增加了属性:高度h,增加了设置和获取高度h的方法,计算面积的方法area()和计算体积的方法volume()。创建对象,显示其属性,计算和显示其面积和体积。
class Circle {
double x;
double y;
double r;
Circle(double x, double y, double r) {
this.x = x;
this.y = y;
this.r = r;
}
public void setX(double x) {
this.x = x;
}
public void setY(double y) {
this.y = y;
}
public void setR(double r) {
this.r = r;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public double getR() {
return r;
}
public double area() {
return r * r * Math.PI;
}
public double perimeter() {
return 2 * r * Math.PI;
}
public void show() {
System.out.print("x=" + x + ", y=" + y + ", Radius=" + r);
}
}
class Cylinder extends Circle {
double h;
Cylinder(double x, double y, double r, double h) {
super(x, y, r);
this.h = h;
}
public void setH(double h) {
this.h = h;
}
public double getH() {
return h;
}
public double area() {
return perimeter() * h + super.area() * 2;
}
public double volume() {
return super.area() * h;
}
public static void main(String[] args) {
Cylinder cylinder = new Cylinder(2, 3, 4, 5);
cylinder.show();
System.out.println(", Height=" + cylinder.getH());
System.out.println("面积=" + cylinder.area());
System.out.println("体积=" + cylinder.volume());
}
}
运行结果
如以上有错误的地方,请在评论区中指出,谢谢!
小可爱们看完点个赞再走一走~~