一.实验目的

(1)掌握类的继承

(2)变量的继承和覆盖,方法的继承,重载和覆盖的实现;

二.实验的内容

(1)根据下面的要求实现圆类Circle。

1.圆类Circle的成员变量:radius表示圆的半径。

2.圆类Circle的方法成员:

       Circle():构造方法,将半径置0

       Circle(double r):构造方法,创建Circle对象时将半径初始化为r

       double getRadius():获得圆的半径值

       double getPerimeter():获得圆的周长

       void disp():将圆的半径和圆的周长,圆的面积输出到屏幕

实验代码;

public class Circle { private double radius;

    public Circle(double r) {
        radius = r;
    }

    public double getRadius() {
        return radius;
    }

    public void setRadius(double radius) {
        this.radius = radius;
    }

    public double getPerimeter() {
        return 2 * Math.PI * radius;
    }

    public double getArea() {
        return Math.PI * Math.pow(radius, 2);
    }

    public static void main(String[] args) {
        Circle c = new Circle(4);
        System.out.println("周长:" + c.getPerimeter());
        System.out.println("半径:" + c.getRadius());
        System.out.println("面积:" + c.getArea());
    }

}

 

截图:

 

(2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:

1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。

2.圆柱体类Cylinder的成员方法:

        Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。

        double getHeight():获得圆柱体的高

        double getVol():获得圆柱体的体积

        void dispVol():将圆柱体的体积输出到屏幕

3.按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

实验代码:

package 实验报告4;


    import java.util.Scanner;
    public class Circle{
        private static  double radius;                   
        private double perimeter;
        private double area;
        public Circle(){                                         
            this.setRadius(0);
        }
        public Circle(double r) {                             
            this.setRadius(r);
        }
        public void setRadius(double radius) {
            this.radius=radius;
        }
        public static double getRadius() {
            return radius;
        }
        public void setPerimeter(double perimeter) {
            this.perimeter=perimeter;
        }
        public double getPerimeter(){
            return getRadius()*2*Math.PI;
        }
        public void setArea(double area) {
            this.area=area;
        }
        public double getArea() {
            return getRadius()*getRadius()*Math.PI;
        }
        public void disp() {                                                       
            System.out.println("圆的半径为:"+getRadius());
            System.out.println("圆的周长为:"+getPerimeter());
            System.out.println("圆的面积为:"+getArea());
        }
         static class Cylinder extends Circle{                        
            private double height;
            public Cylinder(double r,double h) {                    
                this.setRadius(r);
                this.setHeight(h);
            }
            private void setHeight(double height) {
                this.height=height;
            }
        public  double getHeight() {                                        
            return height;
        }
        public  double getVol() {                                              
            return getRadius()*getRadius()*Math.PI*getHeight();
        }
        public  void dispVol() {                                                   
            System.out.println("圆柱体的体积:"+getVol());
        }
        public  static void main(String[] args) {
            Scanner s=new Scanner(System.in);
                System.out.println("请输入半径:");
                double r=s.nextInt();                             
                System.out.println("请输入高:");
                double h=s.nextInt();                             
                Cylinder s1=new Cylinder(r,h);
                s1.disp();                                     
                s1.dispVol();      
        }
    }
   
    public Circle() {
        // TODO Auto-generated constructor stub
    }

}

截图:

 

第六周学习总结:

抽象类与接口的区别:

1.接口的定义和使用格式在Java 中,可以使用interface 来定义一个接口。接口定义分为接口的声明和接口体,其中接口体由变量定义和方法定义两部分组成。

2.抽象类的定义和使用格式在定义抽象类时,要在关键字class 前面加上关键字abstract。

3.   抽象类通过继承的方式使用,一个子类只能继承一个抽象类,在子类中需要实现抽象类中所有的抽象方法。

 

posted on 2019-10-07 22:10  吃饭要吃饱  阅读(555)  评论(1编辑  收藏  举报