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第四单元总结的更多相关文章

  1. 2020北航OO第四单元总结

    2020北航OO第四单元总结 一.本单元架构设计 本单元作业是实现一个UML图解析器,其中实现接口及主要框架课程组已经提供,只需要我们完成特定功能. 在第一次作业时,感到十分迷茫,不知道如何下手,最后 ...

  2. 北航OO第四单元——UML图解析

    北航OO第四单元--UML图解析 作业要求简析 刚接触本次作业可能需要花上一会才能搞清楚到底是要我们写个啥,在这里简单说一下: UML图的保存格式.mdj文件是以json文件的形式存储的,将每一个Um ...

  3. 2019年北航OO第四单元(UML任务)及学期总结

    第四单元两次作业总结 第十三次作业 需求分析 本次作业需要完成一个UML类图解析器,所需要解析的只有符合UML标准和能够在Java 8中复现的UML类图.查询指令存在两种:仅与所查对象有关的指令,以及 ...

  4. 北航OO第四单元作业总结(4.1~4.3)及课程总结

    前言 在学习过JML规格描述语言之后,本单元进行了UML(Unified Modeling Language)的学习.和JML单纯用语言描述的形式不同,UML通过可视化的图形形式,对一系列有关类的元素 ...

  5. OO第四单元总结暨期末总结

    OO第四单元总结暨期末总结 目录 OO第四单元总结暨期末总结 第四单元三次作业架构与迭代 整体感受 HW1 HW2 HW3 四个单元架构设计与方法演进 Unit1 Unit2 Unit3 Unit4 ...

  6. 2020北航OO第三单元总结

    2020北航OO第三单元总结 本单元要求是根据JML规格完善代码,初看是一个简单的代码照搬实现的东西,但最后才发现由于CPU时间的限制,还考察了大量优化策略及数据结构中关于图的知识,是一次非常注重细节 ...

  7. 2019年北航OO第1单元(表达式求导)总结

    2019年北航OO第1单元(表达式求导)总结 1 基于度量的程序结构分析 量化指标及分析 以下是三次作业的量化指标统计: 关于图中指标在这里简要介绍一下: ev(G):基本复杂度,用来衡量程序非结构化 ...

  8. 【OO学习】OO第四单元作业总结及OO课程总结

    [OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类 ...

  9. OO第四单元(UML)单元总结

    OO第四单元(UML)单元总结 这是OO课程的第四个单元,也是最后一个单元.这个单元只有两次作业,相比前三个单元少一次作业.而且从内容上讲这个单元的作业目的以了解UML为主,所以相对前三个单元比较简单 ...

随机推荐

  1. app自动化定位:UIautomation的用法

    UIautomation定位的优点: 速度比xpath定位快,UIautomation是Android的工作引擎 缺点: 没有idea提示 UIautomation使用方法: AndroidDrive ...

  2. C# Dapper基本三层架构使用 (三、BLL)

    BLL层介绍 业务逻辑层用于做一些有效性验证的工作,以更好的保证程序运行的健壮性.如完成数据添加.修改和查询业务等:不允许指定的文本框中输入空字符串,数据格式是否正确以及数据类型验证:用户权限的合法性 ...

  3. 文件流转换(一般用于axios设置接收文件流设置时responseType: 'blob')

    文件流转换 一般用于axios设置接收文件流设置时responseType: 'blob'当接口报错时,前端因已设置responseType: 'blob'无法再接收json格式数据,会把json格式 ...

  4. input 只可以输入时分秒

    在html5的time中,只有时.分,没有秒. 例如<input type="time" name="user_date" /> 属性加上 step ...

  5. 织梦Call to a member function GetInnerText() on string

    "include"-"customfields.func.php"文件,在第539行中把以下代码: $fvalue = trim($ntag->GetIn ...

  6. MNIST手写数字识别:卷积神经网络

    代码 import torch from torchvision import datasets from torch.utils.data import DataLoader import torc ...

  7. SonarScanner扫描Maven项目使用说明

    最近在学习使用sonar扫描代码,已经成功扫描python项目,而扫描java代码不成功. 在网上找到的扫描java项目文章,经过尝试之后也没有成功. 本人自己研究了sonar官方的使用说明文章,将其 ...

  8. php环境 安装

    php 相关 wget https://www.php.net/distributions/php-7.2.16.tar.gz //你可以官网获取最新的包        tar解压    //一般目录 ...

  9. Appium 自动化测试改造思路

    流水账脚本 从头到尾编写测试脚本 PO封装 业务行为与操作具体页面元素分离 basepage封装 如封装find方法,目的时增强稳定性 数据驱动封装 将常用的数据改为配置文件 为构建测试平台打基础

  10. Python-对Pcap文件进行处理,获取指定TCP流

    通过对TCP/IP协议的学习,本人写了一个可以实现对PCAP文件中的IPV4下的TCP流提取,以及提取指定的TCP流,鉴于为了学习,没有采用第三方包解析pcap,而是对bytes流进行解析,其核心思想 ...