关于最近几次作业,从C语言到Java的过渡,也就是从面向过程到面向对象的过渡。其中,一共有三次作业,前俩次可能更加偏向于过程的设计,利用C语言的想法就可以完成,但是,从需要使用类的开始,就逐渐向对象偏离。

前两次作业的主要目的,是学会日期的设计与使用还有一些简单的编程问题,可能更加取向于基础,目的是为了适应Java的编程语言,同时,日期的设计与使用上,是为了下一次作业做铺垫,下一次作业对日期的使用很多,而且都是自行设计的日期,后来的作业也同样需要自行设计日期方法。但是也有不同的地方,后面的作业作用范围更大,需要将代码设计的更加完美,几乎和工业级代码持平。在对面象过程到面向对象的思想上,每一次作业也是在不断的改变推进,不断向面过程的方面过渡。第一和第二次作业都可以选择不使用类,但是第三次作业就必须使用类,类在设计方面目前还不会很复杂,不会出现类之间方法的相互调用,后来的类更是复杂会出现很多调用。比如在日期的设计上,从年月日一起使用到后来的不断分开,使年月日各成为一个对象,就是向面向对象过渡。在第一次的作业完成过程中对于星期几的判断就是用了不同的方法进行测试。最后使用了最笨的方法,将年月日分开使得代码很长,但是运行时间的需求很短。在后面求下n天的时候同样是采用了很笨的方法但代码有所减少。对于第二次作业,这些编程题,都是为了适应Java的编程方法所出,而且都不是很复杂,由于没给测试点所以具体也不知道自己哪里错了。没拿到满分,也是因为自己太粗心所导致的。第三次作业中,主函数已经给出,但是类需要我们自己设计。对于类的设计,第一个题目是为了让我们适应,后面的三题,则是需要根据不同的方法进行设计,三个主函数都相同。但是类却不同,需要根据不同的方法进行设计。在对于前n天的球阀中,虽然和第一次作业很像,但是n的范围很大,所以我采用了不同的方法设计,使用了循环,随让简化了代码,但是增加了时间,导致求最大时运行代码超时。后两题需要使用聚合,使得年月日各为一类。前两次作业花费的时间加起来都没有第三次多,因为自己的编程能力很差同时自己又是个粗心的人,导致后来的代码频频出错,越打越慢。想到以后还需要工作,会更加注意代码的质量,改变自己粗心的毛病。

面向对象与面向过程有很多不同的地方,面向过程强调的更是一个个过程。比如说人和兔子,对于面向过程。就分别将属性和能够完成的动作进行设计,不会对他们进行分类,而对于面向对象来说,就是将人和兔子作为两个类,然后将他们自身具有的属性还有动作,分别放入两个类中,可能他们之间的动作或者属性会相同,这就可以考虑继承关系了。对于面向对象的基本原则,最重要的应该为类,类中会产生数据,或者方法,这样就会对每一个对象进行设计,可以将它们的动作作为方法,将属性作为数据,使得每个类都有它固有的属性与方法,还可以有类的继承,这让不同的类之间又有了联系,他们共同作用,最后根据人们的意愿,完成需要的事情。对于OO编程思维的理解,重要的就是一个整体中,所需要完成的事情,可能这个类很简单,那么只需要更少的代码实现这个类,如果这个对象很复杂,那么就需要更多的方法来实现这个类。如果类之间没有出现继承关系,那么哪个类有错去修改哪个类就行,不需要对整体进行大幅度的修改。

关于测试对于编码的重要性这是不用质疑的,在程序员把代码完成后,主观意义上,他会觉得自己没有任何错误,觉得功能都能够实现,但是客观上,可能会出现很多问题,这些就是被程序员所忽视的,这样就更加利于代码的完善,可以更好的改正错误满足客户的需要。同时也可以提高代码的质量和速度。如果我测试用例,我会首先选择极值,对最小或者最大的数据进行测试,然后再使用大量的正常值对其进行测试,还有大量的错误值也需要进行大量的测试。

关于课程教训,就是一定要有一本自己的参考资料,还要学好每一个计算机语言,不然到后面会越学越困难,可能别人只要花费你一半的时间,他们就可以做得更好。关于课程收获,可能是自己已经入门了一个新的计算机编程语言,让以后可以更好的面对自己的工作台计算机吧。

java1-3总结 19201421-吴志越的更多相关文章

  1. Java5-7作业总结(第八次作业)19201421-吴志越

    前言:关于此次三次作业,相比于前3次难度着实高了一个档次,第五次作业,虽然对于工具类没有很高.但是第一题的复杂程度很高,对于正则表达式有很高的要求,需要使用很多正则表达式的方法,而且不能有一处错误,对 ...

  2. shufe前辈名师

    前辈名师 姓名 现职/原职 郭秉文 中国现代大学之父.国立东南大学校长.哥伦比亚大学教育学博士,该校第一任校长.为了纪念郭秉文先生,勉励优秀学子,郭夏瑜女士在上海财经大学等校设立了“郭秉文奖学金” 马 ...

  3. 阿里巴巴开源Weex 开发教程

    Weex 是什么 Weex是阿里发布的一款用WEB方式开发原生app的开源产品 Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS.安卓.Yu ...

  4. Bootstrap布局设计

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  5. 前端开发福音!阿里Weex跨平台移动开发工具开源-b

    阿里巴巴今天在Qcon大会上宣布跨平台移动开发工具Weex开放内测邀请.Weex能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验,并支持iOS.安卓.YunOS及 ...

  6. javascript模块

    //使用模块 template = {}; template.createObj = (function(){ //私有成员 var _age = ""; var _name = ...

  7. Winform 实现像菜单一样弹出层

    原文:Winform 实现像菜单一样弹出层 在实际工作中,如果能像菜单一样弹出自定义内容,会方便很多,比如查询时,比如下拉列表显示多列信息时,比如在填写某个信息需要查看一些信息树时.这个时候自定义弹出 ...

  8. python课时二

    通过上个博客的学习,相信大家已经对Python是什么东西应该有了相对应的了解,这里也包括Python的一些语法(比如Python在写for循环和if判断的时候都是会有缩进的).这张博客大概会对Pyth ...

  9. Openwrt自定义CGI实现

    此文已由作者吴志勐授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 安装uhttpd. 在编译openwrt前,输入make memuconfig,查找Network -> ...

随机推荐

  1. 记一次JAVA进程导致Kubernetes节点CPU飙高的排查与解决

    一.发现问题 在一次系统上线后,我们发现某几个节点在长时间运行后会出现CPU持续飙升的问题,导致的结果就是Kubernetes集群的这个节点会把所在的Pod进行驱逐(调度):如果调度到同样问题的节点上 ...

  2. 关于git你日常工作中会用到的一些东西

    前言 git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库 branch 分支 summary ...

  3. 如何优雅的关闭基于Spring Boot 内嵌 Tomcat 的 Web 应用

    背景 最近在搞云化项目的启动脚本,觉得以往kill方式关闭服务项目太粗暴了,这种kill关闭应用的方式会让当前应用将所有处理中的请求丢弃,响应失败.这种形式的响应失败在处理重要业务逻辑中是要极力避免的 ...

  4. C语言 文件操作(一)

    #include<stdio.h> int main(){          FILE *fp = fopen("f:\\lanyue.txt","r&quo ...

  5. MySQL学习之路1-Mac下启动连接MySQL服务

    MySQL简介 (MySQL是目前最流行的关系型数据库管理系统,现属于Oracle公司.) MySQL主要特点: 支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64 ...

  6. java中JVM虚拟机内存模型详细说明

    java中JVM虚拟机内存模型详细说明 2012-12-12 18:36:03|  分类: JAVA |  标签:java  jvm  堆内存  虚拟机  |举报|字号 订阅     JVM的内部结构 ...

  7. ffmpeg使用ss与t参数对视频进行剪辑

    ffmpeg能够实现对视频进行剪辑操作,ss为指定视频剪切开头的起始时间,t制定视频的总长度,ss与t的单位均为:秒. ffmpeg -ss 7200 -i 1080p.mp4 -c copy -t ...

  8. AJ学IOS 之第一次打开Xcode_git配置,git简单学习

    AJ分享,必须精品 一:错误 当第一次打开Xcode我们进行commit操作的时候会报错: The working copy “测试” failed to commit files. * Please ...

  9. 背景知识+监督和无监督学习辨析+预备知识(1-1—1-4/用时4h)

    1-1/1.2,基本上都是一些基础知识,机器学习的背景,发展,概念,用途 1-3,监督学习: 数据集类型已知,数据信息为已知正解--由已知正解推测趋势(拟合分布函数)-- 给出的模型例子--基本类似于 ...

  10. Camunda 流程引擎的一种 Adapter 层实现

    上一篇说明了选择 Camunda 的理由.这一篇说明如何实现适配层. 当前还没有专门写一篇对 Camunda 各个功能的详细介绍.如果要获得比较直观的感受,可以下载 Modeler 或者使用在线版的 ...