类的抽象与封装

//圆类 Circle;
import java.util.Scanner;
class Circle {
 
private double radius;//存放圆的半径
public double getRadius() {//获取半径
return radius;
}
public void setRadius(double radius) {//设定半径
this.radius = radius;
}

public Circle(){//无参构造函数,将半径设为0.
this.radius=0;
}

public Circle(double r ){//带参构造函数,将半径初始化为r.
this.radius=r;
}

public double getArea(){//获取圆的面积
double r=this.radius;
double area=r*r*3.14;//圆的面积公式
return area;
}

public double getPerimeter(){//获取圆的周长
double perimeter=this.radius*2*3.14;//圆的周长公式
return perimeter;
}

public void show(){//将圆的半径,周长,面积输出到屏幕。
System.out.println("请输入圆的半径");
Scanner scanner = new Scanner(System.in);
this.setRadius(scanner.nextInt());
System.out.println("圆的半径"+this.getRadius());
System.out.println("圆的周长"+this.getPerimeter());
System.out.println("圆的面积"+this.getArea());
}
}

//圆柱类
class Cylinder extends Circle {//在圆的基础上定义一个圆柱。

private double height;//圆柱的高
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
//构造方法
public Cylinder (double r, double  h){
this.height=h;
this.setRadius(r);
}
public double getVolume( ) {//求圆柱体的体积
double volume=this.getArea()*this.height;//圆柱体的体积公式
return volume;
}

public void showVolume(){//将圆柱体的体积显示到屏幕上。
System.out.println("圆柱的体积"+this.getVolume());
}
}
//主程序入口
 public class Test {
 public static void main(String[] args) {
 Circle circle=new Circle();
 circle.show();
 Cylinder cylinder=new Cylinder(2,4);//圆柱体的底面圆的半径和圆柱体的高
 cylinder.showVolume();
 }
 }

显示结果:

请输入圆的半径
4
圆的半径4.0
圆的周长25.12
圆的面积50.24
圆柱的体积50.24

猜你喜欢

转载自www.cnblogs.com/ZL552599/p/8921427.html