类的封装与抽象

 

package 类的抽象与封装;

public class yuan {        //定义构造函数
 
   private double Radius;                //成员变量
   public double circle() {
    return Radius;
   }
   public void circle(double r){     //创建时将半径初始化为r
    Radius = r;
   }
   public yuan( ){
    System.out.println("圆!");
   }
   public yuan(double  r){
    this.Radius = r;
   }
   public double getArea(double r){     //成员方法
    return Math.PI * r * r;
   }
   public double getPerimeter(double r){        //成员方法
    return 2 * Math.PI * r;
   }
   public void  show( ){       //成员方法
    System.out.println("圆的面积: " + this.getArea(Radius));
    System.out.println("圆的周长: " + this.getPerimeter(Radius));
   }
 }

  

package 类的抽象与封装;
public class yuanzhu extends yuan {
 
   
 private double hight;
     
      public yuanzhu (double r, double  h )
      {
   
       super(r);      //成员变量
       this.hight = h;
      }
      public double getVolume(){    //get方法存取对象 跟set相比 它不能重载 方法名必须不相同
       return Math.PI * this.circle() * this.circle() * hight;
       
      }  
      public void showVolume( ){
       System.out.println("圆柱体的体积:" + this.getVolume());
      }
    }

package 类的抽象与封装;
import java.util.Scanner;         //输入函数的要定义的
public class 主函数 {
 
 public static void main(String[] args){
  double r,h;
  Scanner in=new Scanner(System.in);
  System.out.print("输入圆的半径");
  r=in.nextInt();
  yuan c1=new yuan(r);
  c1.show( );
  Scanner i=new Scanner(System.in);
  System.out.print("输入圆柱的高");
  h=i.nextInt();
  yuanzhu c2=new yuanzhu(r,h);
  c2.showVolume( );
 }

}

  

输入圆的半径 : 4
圆的面积:50.25648245743669
圆的周长:25.132741228718345
输入圆柱的高:5
圆柱体的体积:251.32741228718345
posted @ 2018-04-24 20:41  夏叶绵绵  阅读(125)  评论(1)    收藏  举报