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

    第六周&java实验报告四

    第六周课程总结

    由于国庆假期的缘故,这周补了周一一节课,继续讲解了继承的有关内容。简单总结下:

    一、子类对象的实例化:
    在继承的操作中,对于子类对象的实例化也是有要求的:子类对象在实例化之前必须先调用父类中的构造方法,然后再调用子类自己的构造方法。
    二、方法的覆写:
    在继承的关系屮存在着方法重写的概念,所谓的方法重写就是指子类定义了与父类中同名的方法,但是方法的内容不一样。重写时必须考虑到权限,即:子类的中重写的方法不能比父类方法有更加严格的访问权限。
    三、this和super关键字的区别与用处
    使用super关键字可以从子类中调用父类中的构造方法、普通方法和属性。之前演示了调用普通方法和属性的的基本操作,使用super调用父类中指定的构造方法,与this调用构造方法的要求相同,语句必须放在子类构造方法的首行.

    我在网上翻看了下,也找到了两篇简介继承方面知识的好文章:Java中继承的进一步研究Java-面向对象(高级篇)--继承的进一步研究;

    实验报告:

    一.实验目的

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

    二.实验的内容

    (1)根据下面的要求实现圆类Circle。
    1.圆类Circle的成员变量:radius表示圆的半径。
    2.圆类Circle的方法成员:
    Circle():构造方法,将半径置0
    Circle(double r):构造方法,创建Circle对象时将半径初始化为r
    double getRadius():获得圆的半径值
    double getPerimeter():获得圆的周长
    void disp():将圆的半径和圆的周长,圆的面积输出到屏幕
    (2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:
    1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。
    2.圆柱体类Cylinder的成员方法:
    Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。
    double getHeight():获得圆柱体的高
    double getVol():获得圆柱体的体积
    void dispVol():将圆柱体的体积输出到屏幕
    3.按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积
    源代码1

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

    截图1:

    源代码2

    package test;
    
    import java.util.Scanner;
    
    public class Cylinder extends Circle {
    	private double height;
    	private double vol;
    
    	public Cylinder(double h, double r) {
    		this.setRadius(r);
    		this.setHeight(h);
    	}
    
    	public void setHeight(double height) {
    		this.height = height;
    	}
    
    	public double getHeight() {
    		return height;
    	}
    
    	public double getVol() {
    		vol = (Math.PI * Math.pow(getRadius(), 2) * height);
    
    		return vol;
    	}
    	
    	public void dispVol() {
    		
    		System.out.println("体积:" + getVol());
    	}
    
    	public static void main(String[] args) {
    		System.out.print("半径:");
    		Scanner r1 = new Scanner(System.in);
    		double r = r1.nextDouble();
    		System.out.print("高:");
    		Scanner h1 = new Scanner(System.in);
    		double h = h1.nextDouble();
    		
    		Cylinder cyl= new Cylinder(r,h);
    		cyl.dispVol();
    	}
    }
    
    

    截图2:

  • 相关阅读:
    PTA —— 基础编程题目集 —— 函数题 —— 61 简单输出整数 (10 分)
    PTA —— 基础编程题目集 —— 函数题 —— 61 简单输出整数 (10 分)
    练习2.13 不用库函数,写一个高效计算ln N的C函数
    练习2.13 不用库函数,写一个高效计算ln N的C函数
    练习2.13 不用库函数,写一个高效计算ln N的C函数
    迷宫问题 POJ 3984
    UVA 820 Internet Bandwidth (因特网带宽)(最大流)
    UVA 1001 Say Cheese(奶酪里的老鼠)(flod)
    UVA 11105 Semiprime Hnumbers(H半素数)
    UVA 557 Burger(汉堡)(dp+概率)
  • 原文地址:https://www.cnblogs.com/LfanWyuXooo/p/11631597.html
Copyright © 2011-2022 走看看