• 第六周


    一.实验目的
    (1)掌握类的继承
    (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现;
    二.实验的内容
    (1)根据下面的要求实现圆类Circle。
    1.圆类Circle的成员变量:radius表示圆的半径。
    2.圆类Circle的方法成员:
    Circle():构造方法,将半径置0
    Circle(double r):构造方法,创建Circle对象时将半径初始化为r
    double getRadius():获得圆的半径值
    double getPerimeter():获得圆的周长
    void disp():将圆的半径和圆的周长,圆的面积输出到屏幕
    实验代码:

    package Java1;
    import java.util.Scanner;
    class Circle {
        private static double radius;
        
        public Circle() {
            this.radius = 0;
        }
        
        public Circle(double r) {
            radius = r;
        }
    
        public  double getRadius() {
            return radius;
        }
    
        public static  double getPerimeter() {
            return 2*(Math.PI)*radius;
        }
        
        public static double getArea() {
            return Math.pow(radius, 2)*Math.PI;
        }
        
        public static void disp() {
            System.out.println("圆的半径为:"+radius+"
    圆的周长为:"+getPerimeter()+"
    圆的面积为:"+getArea());
        }
        
        public static void main (String args[]) {
            Scanner input = new Scanner(System.in);
            Circle circle = new Circle(input.nextDouble());
            System.out.println("圆的半径为:"+radius+"
    圆的周长为:"+getPerimeter()+"
    圆的面积为:"+getArea());
        }
    }
    

    运行结果


    继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:
    1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。
    2.圆柱体类Cylinder的成员方法:

        Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。
    
        double getHeight():获得圆柱体的高
    
        double getVol():获得圆柱体的体积
    
        void dispVol():将圆柱体的体积输出到屏幕
    

    实验代码:

    package Java1;
        import java.util.Scanner;
    
        class Cylinder extends Circle {
            
            
                private static double height;
                
                public Cylinder(double r, double h) {
                    super(r);
                    height = h;
                }
                
                public double getHeight() {
                    return height;
                }
                
                public static  double getVol() {
                    return getArea()*height;
                }
                
                public static void dispVol() {
                    System.out.println(getVol());
                }
            
                public static void main(String[] args) {
                
                      Cylinder total=new Cylinder(16.0, 2.0);
                      System.out.println("圆柱的体积为:"+total.getVol());
                  }
              }
    

    运行截图


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

    package Java1;
        import java.util.Scanner;
    
        class Cylinder extends Circle {
            
                private static double height;
                
                public Cylinder(double r, double h) {
                    super(r);
                    height = h;
                }
                
                public double getHeight() {
                    return height;
                }
                
                public static  double getVol() {
                    return getArea()*height;
                }
                
                public static void dispVol() {
                    System.out.println(getVol());
                }
            
                public static void main(String[] args) {
                    Scanner input = new Scanner(System.in);
                    Cylinder cylinder = new Cylinder(input.nextDouble(),input.nextDouble());
                    System.out.println(getVol());
                }
            }
    

    实验截图

    总结:
    本周了解了一个新的关键字instanceof,构造函数在创建对象时被调用。了解的接口和继承的基本概念,接口与继承有区别,继承不能多继承,只能单一继承,而接口可以多个接口。父类到子类的强制类型转换要验证,要安全性验证。

  • 相关阅读:
    php中session的运行机制
    Mysql5.5修改字符集
    java中用StringBuffer写文件换行
    DatabaseMetaData 获取mysql表和字段注释
    DatabaseMetaData 获取oracle字段注释
    常用的easyui使用方法
    定位div滚动条
    easyui edatagrid 触发编辑行回掉onEdit
    java 读取类内容给指定的方法追加内容
    JS中文转换(UTF-8),中文乱码解决办法,url传递中文乱码解决
  • 原文地址:https://www.cnblogs.com/c11c11cyy/p/11959254.html
Copyright © 2020-2023  润新知