首页 > 编程语言 > 详细

第六周&java实验报告四

时间:2019-10-07 15:20:03      阅读:59      评论:0      收藏:0      [点我收藏+]

一.实验目的

(1)掌握类的继承

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

二.实验的内容

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

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

2.圆类Circle的方法成员:

       Circle():构造方法,将半径置0
       Circle(double r):构造方法,创建Circle对象时将半径初始化为r
       double getRadius():获得圆的半径值
       double getPerimeter():获得圆的周长
       void disp():将圆的半径和圆的周长,圆的面积输出到屏幕

实验代码:

package work4;

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 total=new Circle(16);
        System.out.println("圆的半径为:"+total.radius);
        System.out.println("圆的周长为:"+total.getPerimeter());
        System.out.println("圆的面积为:"+total.getArea());
    }
}

运行截图:

技术分享图片

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

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

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

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

实验代码:

package work4;

public class Cylinder extends Circle{

    private double height;
    public Cylinder(double height,double radius) {
        super(radius);
        this.setHeight(height);
    }
    public double getHeight() {
        return height;
    }
    public void setHeight(double height) {
        this.height = height;
    }
    public double getVol() {
        return super.getArea()*height;
    }
    public static void main (String[] args) {
        Cylinder total=new Cylinder(1.0,16.0);
        System.out.println("圆柱的体积为:"+total.getVol());
    }
}

运行截图:

技术分享图片

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

实验代码:

package work4;
import java.io.*;
import java.util.*;
public class Cylinder extends Circle{

    private double height;
    public Cylinder(double height,double radius) {
        super(radius);
        this.setHeight(height);
    }
    public double getHeight() {
        return height;
    }
    public void setHeight(double height) {
        this.height = height;
    }
    public double getVol() {
        return super.getArea()*height;
    }
    public static void main (String[] args) {
        Scanner sc=new Scanner(System.in);
        int height=sc.nextInt();
        int radius=sc.nextInt();
        Cylinder total=new Cylinder(height,radius);

        System.out.println("圆柱的体积为:"+total.getVol());
    }
}

运行截图:

技术分享图片

学习总结:

1、类的继承格式

在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:

class 父类 {
}
 
class 子类 extends 父类 {
}

2、继承的特性

1.子类拥有父类非 private 的属性、方法。
2.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
3.子类可以用自己的方式实现父类的方法。

3、包含一个抽象方法的类必须是抽象类;抽象类和抽象方法都要使用abstract关键字声明;抽象方法只需要声明而不需要实现;抽象类必须被子类继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法。

抽象类的定义格式:

abstract class抽象类名称{
    属性;
    访问权限返回值类型方法名称(参数){ //普通方法
        [return返回值];
}
    访问权限abstract返回值类型方法名称(参数); //抽象方法
    //在抽象方法中是没有方法体的
}

4、对象的多态性

对象向上转型: 父类 子类对象 = 子类实例;
对象向下转型: 子类 子类对象 = (子类)父类实例;

第六周&java实验报告四

原文:https://www.cnblogs.com/zzwwll/p/11630124.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!