• 第六周总结&实验报告四


    一.实验目的

    (1)掌握类的继承

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

    二.实验的内容

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

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

    2.圆类Circle的方法成员:

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

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

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

           double getPerimeter():获得圆的周长

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

    package java实验报告五;
    
    class Circle {
        private double radius;           //声明属性
        public Circle(){
            
        }
        public  Circle(double r){
            this.setRadius(r);           //将半径初始化为r
        }
        public double getPerimeter(){           //计算周长的方法
            double Perimeter=2*Math.PI*getRadius();
            return Perimeter;
        }
        public double getArea(){                //计算面积的方法
            double Area=Math.PI*getRadius()*getRadius();
            return Area;
        }
        public void disp(){
             System.out.println("半径;"+getRadius());
             System.out.println("周长:"+getPerimeter());
             System.out.println("面积:"+getArea());
            
        }
         public double getRadius() {
            return radius;
        }
    
        public void setRadius(double radius) {
            this.radius = radius;
        }
    
    }
    public class CircleTest1{
        public static void main(String arg[]){
            Circle cir=new Circle(1.00);
            cir.disp();
        }
    }

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

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

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

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

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

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

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

    package java实验报告五;
    
    class Cylinder extends Circle{
        private double height;  //定义新属性height
        Cylinder(double r,double h){
            super(r);
            this.setHeight(h);
        }
        public double getVol(){       //计算体积
            double Vol=getArea()*getHeight();
            return Vol;
        }
        public void dispVol(){
            System.out.println("体积:"+getVol());
        }
    
        public double getHeight(){
            return height;
        }
    
        public void setHeight(double height) {
            this.height = height;
        }
        
    } 
    
    public class CylinderTest1 {
        public static void main(String arg[]){
            Cylinder cy=new Cylinder(1.00,2.00);
            cy.dispVol();
        }
    
    }

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

    package java实验报告五;
    
    import java.util.Scanner;
    
    class Cylinder extends Circle{
        private double height;  //定义新属性height
        Cylinder(double r,double h){
            super(r);
            this.setHeight(h);
        }
        public double getVol(){       //计算体积
            double Vol=getArea()*getHeight();
            return Vol;
        }
        public void dispVol(){
            System.out.println("体积:"+getVol());
        }
    
        public double getHeight(){
            return height;
        }
    
        public void setHeight(double height) {
            this.height = height;
        }
        
    } 
    
    public class CylinderTest1 {
        public static void main(String arg[]){
            Scanner sc=new Scanner(System.in);
            double r=sc.nextDouble();
            double h=sc.nextDouble();
            Cylinder cy=new Cylinder(r,h);
            cy.dispVol();
        }
    
    }

    总结:我学到了类的继承,用extends关键字,变量的继承和覆盖,方法的继承,this访问本类,super访问父类,重载和覆盖的实现及区别,重载发生在一个类中,覆写发生在继承类中。

  • 相关阅读:
    多文件程序编译时头文件的使用方法
    360浏览器等被金山毒霸网强制霸占问题解决
    surface重装系统后,屏幕亮度不能调节,显示适配器出现黄色三角、windows hello不能正常使用
    Failed to execute "C:learnC程序练习1.exe": Error 0: 操作成功完成。 请按任意键继续. . .问题解决
    递归总结及斐波那契数列的实现
    在SpingBoot中使用Redis对接口进行限流
    在SpringBoot App中使用GoogleReCaptcha3过滤非法的请求
    在springboot中使用Guava基于令牌桶实现限流
    springboot jwt redis实现token刷新
    使用spring-validation和@RequestParam(required = false)字符串默认值的校验问题
  • 原文地址:https://www.cnblogs.com/hn010823/p/11656920.html
Copyright © 2020-2023  润新知