zoukankan      html  css  js  c++  java
  • 第六周&java实验报告四

    实验四:类的继承

    实验目的:

    (1)掌握类的继承方法;
    (2)变量的继承和覆盖,方法的继示、重载和覆盖实现;

    二、实验内容

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

    ①圆类Cirle的成员变量: radius 表示圆的半径。
    ②圆类Cirdle的方法成员:
    Circle () :构造方法,将半径置0
    Circle (doubler) :构造方法:
    创建Circle对象时将半径初始化为r
    double getRadius () :获得圆的半径值
    double getPerimeter () :获得圆的周长
    void disp O :将圆的半径、圆的周长和圆的面积输出到屏幕

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

    ①圆柱体类Cylinder的成员变量: height 表示圆柱体的高。
    ②圆柱体类Cylinder的成员方法:Cylinder (doubler, double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱高初始化为h

      double getHecight () :获得圆柱体的高
      double getVol () :获得圆柱体的体积
      void dispVol () :将圆柱体的体积输出到屏幕
    

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

    1.实验代码

    import java.util.Scanner;
    
    class Circle {
        private static double radius;
        
        public Circle() {
            Circle.radius = 0;
        }
        
        public Circle(double r) {
            Circle.radius = r;
        }
    
        public static  double getPerimeter() {
            return 2*(Math.PI)*radius;
        }
        
        public static double getArea() {
            return Math.pow(radius, 2)*Math.PI;
        }
        
       
        public static void main (String args[]) {
        	@SuppressWarnings("resource")
    		Scanner s = new Scanner(System.in);
            System.out.print("输入半径:");
            new Circle(s.nextInt());
            System.out.println("圆的周长为:"+getPerimeter()+"
    圆的面积为:"+getArea());
            s.close();
        }
    }
    
    

    这题老师上课讲过,不是很难。

    2.3题实验代码

    import java.util.Scanner;
    
    public class Cylinder extends Circle {
    	private static double height;
    	
    	public Cylinder(double r,double h) {
    		super(r);
    		Cylinder.height=h;
    	}
    
    	public double getHeight() {
    		return height;
    	}
    
    	public void setHeight(double height) {
    		Cylinder.height = height;
    	}
    	public static double getVolume() {
    		return getArea()*height;
    	}
    
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		System.out.print("输入的半径和高分别为:");
    		new Cylinder(s.nextDouble(),s.nextDouble() );
    		
    		
    		System.out.println("圆柱体的体积为:"+getVolume());
    	}
    
    
    }
    
    
    

    总结

    抽象类

    如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
    抽象类不能用final声明。
    抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。
    抽象方法只需要声明不需要实现,就是后面不要花括号。
    如果一个类包含抽象方法,那么该类必须是抽象类。任何子类必须重写父类的抽象方法。

    接口

    是一个抽象类型,是抽象方法的集合,接口通常以interface来声明,接口可以继承多个接口。
    接口要使用必须要子类也叫实现类,子类通过implements关键字实现接口。
    接口没有构造方法,而且所有的方法必须是抽象方法。

  • 相关阅读:
    Representation Data in OpenCascade BRep
    Render OpenCascade Geometry Surfaces in OpenSceneGraph
    Render OpenCascade Geometry Curves in OpenSceneGraph
    OpenCascade Shape Representation in OpenSceneGraph
    Geometry Surface of OpenCascade BRep
    Geometry Curve of OpenCascade BRep
    Tyvj2017清北冬令营入学测试
    Spfa算法模板
    洛谷1016 旅行家的预算
    洛谷1290 欧几里得的游戏
  • 原文地址:https://www.cnblogs.com/hy14157/p/11629900.html
Copyright © 2011-2022 走看看