前言:关于此次三次作业,相比于前3次难度着实高了一个档次,第五次作业,虽然对于工具类没有很高。但是第一题的复杂程度很高,对于正则表达式有很高的要求,需要使用很多正则表达式的方法,而且不能有一处错误,对代码的质量要求很高。而在第六次和第七次作业中,就需要使用工具类了,还有链表的处理,在链表的处理上,出现了多种工具类,对链表进行处理。还有链表本身,就只是一种类,在传入数据和传出数据的过程中,就需要一点方法。同时,在第六次作业中,仍然需要使用正则表达式,而且要求也不低。

过程总结:在第五次作业中,首先涉及到继承,在第五次作业中,需要对继承使用,图形的继承是一个很好的例子,让因为,这个很容易理解,并且对于每一个图形,他们本身的固有属性,都是对一个图形的描述,给了这些数据,一个类也就基本确定了是什么样子。第五次作业中,最难的应该是正则表达式,这个对于一个人的思维要求很高,突出了一个问题,设计性。如果你想要有这个思维,需要经过不断的练习,这个就需要时间练习了。而在第六次作业中,主要的难点还是在于正则表达式,与第五次不同,这次还需要使用工具类。工具类的目的是为了修改数据,而正则表达式的使用是一个判定方法。正确判断后,就需要使用工具类进行修改,最后输出。第六次作业,在图形的继承,增加了多态,让继承的方法增加了难度。在第六次作业中,就出现了链表,也就是arrarylist。Java中的链表,相对于C语言中,更加简单,但是是两种不同的格式,可能Java中的链表与数组有几分相似,但是里面储存的数据类型并不相同。添加方面,这个类具有自身的方法,还有很多方法,是这个类本身具有的。三次作业之间的知识迭代关系上,第五次作业更加偏向于认识,面对对象中的许多技术,对于使用上面的要求,并没有后两次高,但是代码量并不比后两次小。后两次作业在类的使用上,具有更高度要求,有继承,有工具类的使用,有类的多态,相比于第五次,具有更复杂的代码。这几次作业中涉及的正则表达式,是C语言中没有的。也是个很好用的类,但是如果是设计匹配器的话,还是有一点难度的。对于面向对象的封装性、继承性与多态性三大技术特性,对象的封装性,就是把对象的属性,行为进行封装,载体是类,一个类,也就约是一个对象,对于每一个对象都进行封装,让每一个对象具有自己本身的属性,这样更加利于设计,在往后的软件设计中,对象对应一个软件的功能,让对象封装,就是让软件的每一个功能独立,使得他们的功能不会相互影响。在对象的继承上,具有很多种继承方法,有直接继承和间接继承,一般情况下,不会采用直接继承,而是采用间接继承,因为如果直接继承,在日后对代码的修改上,父类代码的修改,会严重影响到子类。从而加大了软件的维护成本,最好采用间接继承,实现低耦合。这样,如果父类代码被修改,子类代码也不需要修改很多,从而降低维护成本。多态性的使用,就需要使用抽象类了,在多态性的使用上,父类与子类之间,不具有很大的联系,因为父类会被定义为抽象类,在对父类方法的使用上,只有父类方法在子类经过重写,才可以使用。这样使得父类的方法,能够在不同子类中发挥不同的作用。并且,也利于以后代码的维护,只需要修改子类,不需要修改父类。在问题上,第五次作业中,正则表达式,是一个很头疼的问题,因为正则表达式的固定模板很少,很多需要自行设计。后来通过一定的资料文献,完成匹配器的设计。在图形的继承上,不需要很大的设计。第六次作业中,同样是在正则表达式,出现很多问题,同样通过查找设计模式,完成匹配器的设计。在第六次作业中,就需要使用arrarylist了。链表的使用,需要很多的方法,在刚开始时,出现了很多问题,后来通过问同学,完成部分代码设计。这几次作业花费的时间,相比于前几次,可能翻了一倍,特别是最后一次作业,花费了很久的时间也没有写出来。第五次和第六次作业中,只有一题比较难写,其他题目还是能够拿到满分的。如果算的话,至少需要两个下午两个晚上。对于这次编程发现了自己很多的问题,比如说工具类的使用,还有链表的使用,还有正则表达式的使用,这些都是我没有克服的大问题,还有很多小问题需要自己慢慢学习修改。我知道,如果没有把现在的知识学熟,学到后面,问题会越变越多。我需要一段时间对以前的知识进行复习,不然后面就步步维艰了。

oo设计心得:封装性,继承性,多态性三大技术让不同的类在实现自身功能的同时,对其他类不会造成很大的影响,同时,在功能的继承上,也不会出现错乱。三大技术特性之间的功能相互补充,相互适应最后形成一个完整的软件系统,在系统内,所有的功能都可以实现,并且不同的功能在使用上,不会出现相互排斥或者相互关联的状况,这样,不仅仅利于用户的使用,也利于软件员工的维修。对于oo编程思维,这个具有完整的体系,三大技术,让oo编程思维更加成熟,在采用oo编程时,遵循三大特性进行编程,可以在减少时间复杂度的同时,提高编程效率。

测试的理解与实践:在代码开始复杂后,如果没有测试,就会出现编程人员同样想不到的问题,如果是民用软件还只是经济的损失,如果是军用软件出现问题,后果将不堪设想,具有代码的测试,让软件具有更高的可行性和信任性。

对课程的建议:第三阶段作业难度、题量的建议:建议减少难度增加题量,让知识有一个循序渐进的过程。课程内容讲解方面的建议:希望对arrarylist这个类进行更加详细的讲述,因为这个链表很重要。

Java5-7作业总结(第八次作业)19201421-吴志越的更多相关文章

  1. 2017-2018-2 1723《程序设计与数据结构》第八周作业 & 实验二 & 第一周结对编程 总结

    作业地址 第八周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1847 (作业界面已评分,可随时查看,如果对自己的评分有意 ...

  2. oo第八次作业

    oo第八次作业 第五次作业分析: 1.度量图: 2.类图: 第五次作业由于是第一次接触多线程,所以导致自己的经验不足,因此最终也没有完成作业,到最后任然不能实现三部电梯的有效调度,所以导致了这次作业的 ...

  3. JAVA第八次作业

    JAVA第八次作业 (一)学习总结 1.用思维导图对本周的学习内容进行总结 参考资料: XMind. 2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery ...

  4. 2018-2019-1 20189221 《Linux内核原理与分析》第八周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第八周作业 实验七 编译链接过程 gcc –e –o hello.cpp hello.c / gcc -x cpp-o ...

  5. 2017-2018-1 JAVA实验站 第八周作业

    2017-2018-1 JAVA实验站 第八周作业 详情请见团队博客

  6. 2017-2018-1 JaWorld 第八周作业

    2017-2018-1 JaWorld 第八周作业 团队分工 成员 分工 陈是奇 统计成员工具选择 马平川 类图 王译潇 编码规范 李昱兴 用例图 林臻 状态图 张师瑜 推进工作进展.写博客 UML ...

  7. 2017-2018-1 20179205《Linux内核原理与设计》第八周作业

    <Linux内核原理与设计>第八周作业 视频学习及操作分析 预处理.编译.链接和目标文件的格式 可执行程序是怎么来的? 以C语言为例,经过编译器预处理.编译成汇编代码.汇编器编译成目标代码 ...

  8. 《ABCD组》第八次作业:ALPHA冲刺

    <ABCD组>第八次作业:ALPHA冲刺 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...

  9. 【西北师大-2108Java】第八次作业成绩汇总

    [西北师大-2108Java]第八次作业成绩汇总 作业题目 面向对象程序设计(JAVA)--第10周学习指导及要求 实验目的与要求 (1)掌握java异常处理技术: (2)了解断言的用法: (3)了解 ...

  10. 2019-2020-1 20199329《Linux内核原理与分析》第八周作业

    <Linux内核原理与分析>第八周作业 一.本周内容概述: 理解编译链接的过程和ELF可执行文件格式 编程练习动态链接库的两种使用方式 使用gdb跟踪分析一个execve系统调用内核处理函 ...

随机推荐

  1. 1047: 【入门】正整数N转换成一个二进制数

    1047: [入门]正整数N转换成一个二进制数 时间限制: 1 Sec 内存限制: 16 MB 提交: 9786 解决: 6447 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 输入 ...

  2. 3.26java作业

    1.编写程序, 输入变量x的值,如果是1,输出x=1,如果是5,输出x=5,如果是 10,输出 x=10,除了以上几个值,都输出x=none.(知识点:if条件语句) package fda; imp ...

  3. Vue引用阿里图标库

    首先进入官网http://www.iconfont.cn/ 转载:https://blog.csdn.net/qq_34802010/article/details/81451278 选择图标库 在里 ...

  4. 【网络安全】——客户端安全(浏览器安全、XSS、CSRF、Clickjacking)

    ​ 近在学习网络安全相关的知识,于是先从业内一本系统讲Web安全的书<白帽子讲Web安全>系统学习Web安全的相关知识.在此整理书中的知识层次,不求详尽,只求自己对整个Web安全梗概有所了 ...

  5. 数据库服务概述,构建MYSQL服务器,数据库基本管理,mysql数据类型,表结构的调整

                                                            数据库的发展前引 MySQL的起源与发展过程 最为著名.应用最广泛的开源数据库软件 最早 ...

  6. LeetCode#141-Linked List Cycle-环形链表

    一.题目 给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1 ...

  7. Chrome浏览器架构

    通用浏览器架构 它可以是一个具有许多不同线程的进程,也可以是具有几个通过IPC进行通信的多个线程的进程. 一个具有许多不同线程的进程 通过IPC进行通信的多个线程的进程 注意 这些不同的体系结构是实现 ...

  8. 玩家的numpertpry 对象 中 不仅仅要同步 君主武将的等级,阶级也要同步

    因为好多列表 中 需要 批量查询 玩家的等级 和阶级(用来显示玩家icon颜色用的),如果阶级 在numperty 中已同步 的话,就不用批量去查玩家武将列表了.同理如果其他属性也经常用的话也可以同步 ...

  9. C语言折半查找法练习题冒泡排序

    C语言折半查找法练习题 折半查找法: 折半查找法是效率较高的一种查找方法.假设有已经按照从小到大的顺序排列好的五个整数num[0]~num[4],要查找的数是key,其基本思想是: 设查找数据的范围下 ...

  10. webWMS开发过程记录(三)- 需求分析(略)

    行业:汽车零部件制造 大方向:非唯一码,需有一套简单.易用.受控的误操作撤回机制 现状(略) 目标(略) 注:由于项目是自己根据以往经验,自己开发的,且开发时间不固定,故需求分析暂略,我会把工作重点放 ...