OO第一阶段总结

一、各次作业程序结构

  第一次作业

  第一次作业由于初用JAVA,还没有深刻理解面向对象的编程方法,故在编程过程中只用了一个类,一个方法,即完成了相应的程序功能。这必然不是本课程的目的,我也将在之后的作业中着重注意面向对象的设计方法。

  第二次作业

  第二次作业中,尽管使用了多个方法,但仍没有采取多个类互相调用的策略,而是将电梯的运行简单的抽象成了对数组数据的处理,这对日后代码的维护与扩展带来了诸多的不便,在第三次作业中体现尤为突出。因此,一定要以此为戒,在之后的作业中注意锻炼面向对象的编程思维,拜托流程式的编程思维。

  第三次作业

  第三次作业中,主类负责总控,get_equst类负责对指令输入进行处理,同时进行错误输入的处理,而controller类负责对电梯的运行轨迹进行处理,并输出相应的运行情况。第三次作业虽然进行了分类处理,但是,每个类的每个方法还是集中了太多的功能,对于调试和日后的维护扩展依然存在着诸多的不便,在以后的作业中,还要着重对这方面进行改进。

二、自己程序的bug

  第一次作业的bug为对于连续的运算符号的处理,产生原因是正则表达式运用不当。

  第二次作业的公测bug为前导正号和uint数的取值,产生bug的原因是没有仔细阅读指导书,导致没有处理前导正号,且把uint当i来进行处理。

三、发现别人的bug

  第一次作业所测程序并没有对异常输入进行处理,即所有异常输入都使得程序crash了,故不赘述。

  第二次和第三次作业并没有发现所测程序的bug。

四、心得体会

  设计方面,我总是受流程式编程思维的影响,很容易将一个类一个方法写的庞大冗杂,这样虽然仍能完成作业要求的相应功能,但这不是我们的课程的目的,因此我一定要利用好之后的每一次作业,来锻炼自己面向对象的编程思维,熟练掌握JAVA相关的知识。

  bug方面,在着手编程前,一定要仔细阅读作业指导书,我的第二词作业的公测bug全部源自于对指导书的阅读不仔细。此外,在充分理解指导书的要求后,对编程思路的整理也是十分有益的。

OO第一阶段总结的更多相关文章

  1. 面向对象(OO)第一阶段学习总结

    前言:对OO本阶段作业情况说明 本阶段一共完成三次作业,第一次主要是在主方法里面进行编程,也就是和之前C差不多,而随着学习的深入,慢慢了解到面向对象与面向过程的区别.作业的难度也在慢慢增大,后两次都用 ...

  2. OO第一阶段纪实

    $ 0 写在前面 在DDL一次次的推动下,历经三个周期的更迭,一个月的时光匆匆而过.谨撰此博文,以记录这一段见证成长的心路历程. $ 0-0 JAVA“一天速成”没有修习过传说中的“OO先导课”,在学 ...

  3. OO第一阶段作业总结

    对于OO这门课,学长学姐偶尔提起,大家都略有耳闻,但是并没有将其和计组相提并论.因此,在刚开始接触的时候,并不认为其会比计组难到哪里去,然而事实证明,还是不要想当然去判断,以及不提前学好JAVA对于O ...

  4. OO第一阶段总(休)结(养)分(生)析(息)

    第一次作业: 这是一次让我认识到ddl面前潜力真的可以无限大的作业. 一直以为OO是一门和数据结构一样先用几周的时间讲讲Java然后写写”Hello World”小程序再开始讲正课的我(我也不知道为什 ...

  5. 【作业1.0】OO第一单元作业总结

    OO第一单元作业已全部完成,为了使这一单元的作业能够收获更多一点,我回忆起我曾经在计算机组成课设中,经常我们会写一些实验报告,经常以此对实验内容反思总结.在我们开始下一单元的作业之前,我在此对OO第一 ...

  6. java 初学者 第一阶段作业编程总结及心得体会

    0.前言 第一阶段java作业分为3次. 第一次作业是简单得一些语法和一些简单得逻辑思维,主要内容有求三角形是什么三角形的,还有就是求坐标点所在范围的,也涉及到了数字和字母的转换,总之相相当于是给ja ...

  7. 《 OO第一作业周期(前四周)总结 》

    作为一名软件工程的大学生,很高兴能够以这样一种方式,实现对博客编写零的突破.专业课老师也介绍了编写博客给我们带来的帮助,听了以后,我感觉到了培养出写博客的习惯,是一件多么有意义的事! 话不多说,让我们 ...

  8. Java第一阶段作业总结

    目录 0.前言 1.作业过程总结 2.OO设计心得 3.测试的理解与实践 4.课程收获 5.对课程的建议 前言 本次博客针对第一阶段的三次作业发表总结,作业要求主要是初学者对于Java的基本语法.用法 ...

  9. OO第一单元(前四周)作业总结

    OO第一单元(前四周)作业总结 OO第一单元(前四周)作业总结要求(第四次作业) 0.前言 本次博客针对的是本人学习Java的第一阶段的三次作业的作业总结 第一次作业的内容是:7-1 计算税率 (20 ...

随机推荐

  1. QT 实现在QLabel上画图

    QT之所以不能再任意控件上绘图是因为QT的事件过滤器把控件的绘图事件给过滤了. 在paintevent()函数中,通常需要设置QPainter对象,创建QPainter对象的同时需要指定绘图设备,即继 ...

  2. POJ-2184 Cow Exhibition---01背包变形(负数偏移)

    题目链接: https://vjudge.net/problem/POJ-2184 题目大意: 给出num(num<=100)头奶牛的S和F值(-1000<=S,F<=1000),要 ...

  3. 从感知机到 SVM,再到深度学习(三)

        这篇博文详细分析了前馈神经网络的内容,它对应的函数,优化过程等等.     在上一篇博文中已经完整讲述了 SVM 的思想和原理.讲到了想用一个高度非线性的曲线作为拟合曲线.比如这个曲线可以是: ...

  4. Docker 基础技术之 Linux namespace 源码分析

    上篇我们从进程 clone 的角度,结合代码简单分析了 Linux 提供的 6 种 namespace,本篇从源码上进一步分析 Linux namespace,让你对 Docker namespace ...

  5. jmeter出现卡死或内存溢出的解决方案

    故事背景:在初次使用jmeter的时候,把线程设置较大值的时候,jmeter工具很容易就卡死了,导致每次做压测的时候都无法顺利完成,非常的闹心,通过各种方法寻找解决方案,终于找到了一个比较靠谱的方法, ...

  6. 关于手机APP开发的一些常见误解

    移动应用不适用于小型企业和创业公司 如果你想要开发一款移动APP,那么在前期开发一种偏见的态度并不是一个好主意.如果你认为移动APP只有跨国公司和大企业创业者才会去开发,那么你可能错过了成功的捷径.而 ...

  7. drupal8之分类

    示例: 我的相册 一.创建分类 1.创建一个相册 点击[结构]>[Taxonomy]>[+add vocabulary] 点击[保存] 2.创建相册的分类 点击[+add term] 点击 ...

  8. [LeetCode] Falling Squares 下落的方块

    On an infinite number line (x-axis), we drop given squares in the order they are given. The i-th squ ...

  9. 小白学习java设计模式之策略模式

    策略模式:1.分析项目中的变化部分与不变部分(每个设计模式都要分析的)2.多用组合少用继承;用行为类组合,而不是行为继承,更具有弹性直接上代码: package com.wz.oneStrategis ...

  10. 初学servlet之form表单

    使用doget向页面写表单,使用dopost读取表单内容,包括了单选按钮,复选框,下拉列表等等的读取方法,form的action属性不写,默认表单会被提交给请求他时用的相同的URL package a ...