北航OO第四单元总结
OO最后一次博客作业——好聚好散
一、单元总结
作业一:
第一次是对类图进行解析,没有太大难度,只要根据讨论区提供的建议,新建两个类来存储相关数据即可实现。
作业二:
第二次作业的难度只有量的提升,然而量的提升直接增加了debug的难度,也正是因为bug太多,烤漆又忙,导致最后没能提交。
第二次作业多了状态图和顺序图,存储方式比较类似,大部分地方可以cv。
这次主要还是总结第四单元的体验。

采用的讨论区的建议,搭建了MyOperation和MyClass两个类。
部分截图


第十四次作业(很像章鱼),我没能打赢伟大的战争,因为怂了。

二、关于四个单元的感慨
学面向对象之前,一直不明白面向对象是什么样的课程。学计组之前,也是不明白计组是什么样的课程。计组学完了,好像就只会搭个CPU,还是被时代淘汰的那种,所教的工程化方法还是没有掌握。学完OO,感觉自己同样没能达到老师与助教的期望,我仍然说不出什么是面向对象,只有一个模糊的概念,这代码该这样写,类要高耦合低内聚,代码风格不要丑到引起同事的杀人动机,学会用junit来debug,学会自己写对拍器。至于其他的,大概就只有写代码的能力提升了,思维上似乎还停留在大一那个懵懂的自己 。
一路走来,风风雨雨。
记得预习部分还是简单的a+b,第一单元就开始让我们疯狂操练正则表达式——而老师和助教的目的则是让我们掌握继承多态封装。我是没有继承的,换一次作业重构一次,也没能感受到这些技能的强大之处,直到后两面的单元,才慢慢对这些概念有了全新的认识。
第二单元的多线程让我狠狠地摔了一跤。理论课似乎明白了什么是多线程,却不会在Java里实现,导致作业写得磕磕碰碰。往事不堪回首,体验很差。
第三单元的JML目的是学会使用java建模语言。主要是操练了根据jml写代码,有点像英语的完形填空。难度较之之前有很大的改善。不过后来的作业由于jml过于冗长,都是直接按照作业指导书的要求完成了一个能实现任务的代码,并没有仔细研读jml,可能和老师助教的初衷相悖。
第四单元是uml。Uml建模实在是妙不可言,把抽象的代码轻而易举地转化成形象的图标,让外行也能看懂一二。而我们的作业则是解析uml文件。第一次作业尚能看懂jml解析出来的文件,第二次完全靠讨论区续命。
三、一些建议
1.帮助我们厘清面向对象和Java学习的区别。在默认我们已经掌握Java的前提下用Java学面向对象,不是一举两得,而是两个学得都不精,当然这是针对我们菜鸡来讲的。
2.建议增加迟交窗口,拖延症患者表示不到ddl不会动手,到了ddl发现来不及......(迟交给个及格也是爱啊)。
3.增加助教数量,感觉助教工作量太大,太辛苦了,在日常贴的回复过程中,有不少无效提问,而无效问题很难从学生端解决(假设学生都是懒的)。
北航OO第四单元总结的更多相关文章
- 2020北航OO第四单元总结
2020北航OO第四单元总结 一.本单元架构设计 本单元作业是实现一个UML图解析器,其中实现接口及主要框架课程组已经提供,只需要我们完成特定功能. 在第一次作业时,感到十分迷茫,不知道如何下手,最后 ...
- 北航OO第四单元——UML图解析
北航OO第四单元--UML图解析 作业要求简析 刚接触本次作业可能需要花上一会才能搞清楚到底是要我们写个啥,在这里简单说一下: UML图的保存格式.mdj文件是以json文件的形式存储的,将每一个Um ...
- 2019年北航OO第四单元(UML任务)及学期总结
第四单元两次作业总结 第十三次作业 需求分析 本次作业需要完成一个UML类图解析器,所需要解析的只有符合UML标准和能够在Java 8中复现的UML类图.查询指令存在两种:仅与所查对象有关的指令,以及 ...
- 北航OO第四单元作业总结(4.1~4.3)及课程总结
前言 在学习过JML规格描述语言之后,本单元进行了UML(Unified Modeling Language)的学习.和JML单纯用语言描述的形式不同,UML通过可视化的图形形式,对一系列有关类的元素 ...
- OO第四单元总结暨期末总结
OO第四单元总结暨期末总结 目录 OO第四单元总结暨期末总结 第四单元三次作业架构与迭代 整体感受 HW1 HW2 HW3 四个单元架构设计与方法演进 Unit1 Unit2 Unit3 Unit4 ...
- 2020北航OO第三单元总结
2020北航OO第三单元总结 本单元要求是根据JML规格完善代码,初看是一个简单的代码照搬实现的东西,但最后才发现由于CPU时间的限制,还考察了大量优化策略及数据结构中关于图的知识,是一次非常注重细节 ...
- 2019年北航OO第1单元(表达式求导)总结
2019年北航OO第1单元(表达式求导)总结 1 基于度量的程序结构分析 量化指标及分析 以下是三次作业的量化指标统计: 关于图中指标在这里简要介绍一下: ev(G):基本复杂度,用来衡量程序非结构化 ...
- 【OO学习】OO第四单元作业总结及OO课程总结
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类 ...
- OO第四单元(UML)单元总结
OO第四单元(UML)单元总结 这是OO课程的第四个单元,也是最后一个单元.这个单元只有两次作业,相比前三个单元少一次作业.而且从内容上讲这个单元的作业目的以了解UML为主,所以相对前三个单元比较简单 ...
随机推荐
- Appium自动化(16) - 使用手机浏览器进行自动化测试
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面我都讲的都是针对 app ...
- 第07课:GDB 常用命令详解(下)
本课的核心内容: disassemble 命令 set args 和 show args 命令 tbreak 命令 watch 命令 display 命令 disassemble 命令 当进行一些高级 ...
- [第五篇]——Docker 镜像加速之Spring Cloud直播商城 b2b2c电子商务技术总结
Docker 镜像加速 国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器.Docker 官方和国内很多云服务商都提供了国内加速器服务,例如: 科大镜像: 网易: 阿里云: 你 ...
- linux traceroute追踪路由路径
TraceRoute的工作原理 1.TraceRoute的工作原理: traceroute 有使用两种:使用ICMP的和使用UDP的.Microsoft 使用ICMP,所以win9 ...
- mysql触发器实时检测一条语句进行备份删除
问题描述:用户有一个这样一个需求,在一张表里会不时出现 "违规" 字样的字段,需要在出现这个字段的时候,把整行的数据删掉.这是个采集任务,如果发现有"违规"字样 ...
- scrum项目冲刺_day01总结
摘要:今日完成任务. 1.app基本框架页面正在进行 2.图像识别正在进行 总任务: 一.appUI页面 二.首页功能: 1.图像识别功能 2.语音识别功能 3.垃圾搜索功能 4.相关新闻爬取 三.我 ...
- 垃圾分类app--NABCD--团队项目需求与分析
我们的产品是--智能垃圾分类APP,它的设计灵感的来自于"可持续化发展战略,走绿色发展道路",众所周知,垃圾是放错了地方的资源,因此我们团队为了响应国家"垃圾分类&quo ...
- php获取纳秒方法
PHP不提供精度高于微秒的函数. 可以使用system功能,直接从机器中获得的价值,如果你运行的是Linux: $nanotime = system('date +%s%N');
- google插件网页播放mp4代码
<script src="http://html5media.googlecode.com/svn/trunk/src/html5media.min.js"></ ...
- ATR吊灯止损策略 (含有tbquant源码)
ATR吊灯止损策略定义: 做多,止损放在最高价之下N个ATR. 做空,止损放在最低价之上N个ATR. 该策略生成的止损点就像是从市场最高价的"天花板"上悬挂下来的吊灯.所以命名为A ...