前言:关于此次三次作业,相比于前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. 7行代码搞定WEB服务

    作为一个 Java 程序猿,写代码久了,各种技术也就都尝试了一个遍. 先从 SSH1(Spring.Struts1.Hibernate)摸爬滚打转变到 SSH2(Spring.Struts2.Hibe ...

  2. 用python写项目之图书管理系统

    1.功能介绍: (1).添加新书:输入要添加的书名.存放的书架号.价格. (2).修改书架:输入要书名,然后对其修改书架号.价格 (3).删除书架:输入书名,然后对应删除书名.书架号.价格 (4).查 ...

  3. 1032 Sharing (25分)(数组链表)

    To store English words, one method is to use linked lists and store a word letter by letter. To save ...

  4. PTA数据结构与算法题目集(中文) 7-20

    PTA数据结构与算法题目集(中文)  7-20 7-20 表达式转换 (25 分)   算术表达式有前缀表示法.中缀表示法和后缀表示法等形式.日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个 ...

  5. HDU1087:Super Jumping! Jumping! Jumping!(DP水题)

    Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  6. Git常用命令(二)

    git clone + URL 获取该项目源代码 $ git log 回顾提交历史 $ git log -p -(数字) 用来显示每次提交的内容差异+(数字)表示看最近几条 $ git log --s ...

  7. spring07

    关于spring的泛型依赖注入主要是继承等方面的知识 具体实现的简单的代码如下: package bao1; public class BaseRepository <T>{ } pack ...

  8. flask-script的基本使用

    Flask-Script flask-script的作用是可以通过命令行的形式来操作Flask.例如通过命令跑一个开发的服务器.设置数据库等. 命令的添加方式 1 .使用manage.command: ...

  9. 15分钟从零开始搭建支持10w+用户的生产环境(一)

    前言 这是一个基于中小型企业或团队的架构设计. 不考虑大厂.有充分的理由相信,大厂有绝对的实力来搭建一个相当复杂的环境. 中小型企业或团队是个什么样子? 开发团队人员配置不全,部分人员身兼开发过程上下 ...

  10. 列表的增加、修改、删除; list方法降序排序;练习注册

    stus='xiaoming,xiaohei,xiaobai' #数组.列表.list,array stus = ['xiaoming','xiaohei','xiaobai' ] #列表# 0 1 ...