分享一个java课程设计报告的代码和报告-2

今天北忘山给大家分享一个java课程设计报告的代码和报告,欢迎大家关注北忘山的博客网站,更多技术教程,软件技巧,程序代码,课程设计,毕业设计项目分享哦!

实验任务2、设计一个Shape平面图形类,然后分别设计Rect矩形类、Triangle三角形类、Circle圆形类,这三个类均继承自Shape类。主方法中,对三种形状,分别输入具体的数据,计算对应面积并输出。

代码分析

该任务主要考察父类子类之间的继承关系,以及子类如何重构父类的方法。通过分析,可以知道父类只需要提供一个计算面积的方法,子类通过自己的参数来重构这个方法就可以实现自己的计算面积的方法。所以在父类中定义好square()方法,因为父类只是一个抽象出来的,并没有实际的计算公式,其实也可以使用抽象类来实现,不过这里就直接return 0.0;来实现即可。子类在重构的时候必须添加@Override注解,并且方法的声明要与父类保持一致。子类只需要改变方法体即可。

程序源码

package com.beiwangshan.demo;

//平面图形类
class Shape {
    //计算面积的函数,默认返回0.0
    public double square() {
        return 0.0;
    }
}

//矩形类
class Rect extends Shape {
    //定义宽和高
    public double width;
    public double length;

    //    set和get函数
    public double getWidth() {
        return width;
    }

    public void setWidth(double width) {
        this.width = width;
    }

    public double getLength() {
        return length;
    }

    public void setLength(double length) {
        this.length = length;
    }

    //    构造函数
    public Rect() {
    }

    public Rect(double width, double length) {
        this.width = width;
        this.length = length;
    }

    //    重构面积计算方法
    @Override
    public double square() {
        return this.width * this.length;
    }
}

//三角形类
class Triangle extends Shape {
    //定义宽和高
    public double width;
    public double high;

    //    set和get函数
    public double getWidth() {
        return width;
    }

    public void setWidth(double width) {
        this.width = width;
    }

    public double getHigh() {
        return high;
    }

    public void setHigh(double high) {
        this.high = high;
    }

    //    构造函数
    public Triangle() {
    }

    public Triangle(double width, double high) {
        this.width = width;
        this.high = high;
    }

    //    重构面积计算方法
    @Override
    public double square() {
        return (this.width * this.high) / 2;
    }
}

//圆形类
class Circle extends Shape {
    private double banjing;

    public Circle(double banjing) {
        this.banjing = banjing;
    }

    public Circle() {
    }

    public double getBanjing() {
        return banjing;
    }

    public void setBanjing(double banjing) {
        this.banjing = banjing;
    }

    @Override
    public double square() {
//        3.14用数学函数获取
        return (Math.PI) * banjing * banjing;
    }
}

//主函数类
public class shapeDemo {
    public static void main(String[] args) {
//        分别实例化三个类,直接通过构造函数模拟输入
        Rect r=new Rect(3,4);//矩形,输入长和宽
        Triangle t = new Triangle(4,2);//三角形,输入底和高
        Circle c =new Circle(3);//圆形,输入半径
        System.out.println("矩形的面积: "+ r.square());
        System.out.println("三角形的面积: "+ t.square());
        System.out.println("圆形的面积: "+ c.square());
    }
}

实验结果

img

任务总结

通过此次实验,我了解了类之间的继承与方法重构,通过解决练习中的问题,并不断的查询问题解决方法,使我了解更加清晰。

版权声明 1 本网站名称:北忘山博客
2 本站永久网址:https://www.beiwangshan.com
3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长删除。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论