BUAAOO第四单元总结
作者:互联网
BUAAOO第四单元总结
本单元架构设计
本单元架构实现课程组已经完成,补充对应函数即可。
由于进行类图,顺序图,状态图的解析,因此提供三个类分别解析对应的图。对于第三次作业的规范检查,R001~R008规则,考虑到类之间传递信息的困难性,因此将对应规则检验的类也封装进入了解析类。
在General类中只需要实例化对应的三个类,并且调用对应方法即可。
对于不同的图的解析,首先在构造方法中解析传入的数组elements[],构造出对应的查询HashMap,例如className到classId的查询表,className到classAttribute的查询表等等。在对应函数中直接使用解析好的HashMap即可。函数的编写就按照指导书写得编写即可,但是要注意HashMap的空指针异常,当查询父类的时候是否会出现死循环。
总结自己在四个单元中架构设计及OO方法理解的演进
第一单元表达式求导:
思考如何解析输入,如何对输入求导。将表达式化为单项式,对单项式进行解析,使用正则大法。但最后还是发现还是递归下降香。
将一个多项式看做对象,由系数,多项式指数,sinx指数·····组成,用元组打包,求导按照链式法则对解析式求导。
OO是将各种元素组合封装,继承起来的一种方法。
第二单元电梯:
考虑什么是电梯,电梯有什么方法,什么是楼层,楼层有什么特点,楼层和电梯之间应当有什么样的交互关系。
电梯就是载有人,能上下移动的东西,可以上人下人开关门。楼层就是人等待的地方。只有电梯停了楼层的人才能转移到电梯里。
对相关内容进行封装,找到临界区,用PV(syn)保护起来即可。
OO是抽象出各种实例,便于实例交互的方法。
第三单元JML:
照着JML写。
OO就是有啥写啥,他咋写,我咋写。
第四单元UML:
在实现对应的函数。
UML是描述OO的良好工具。UML将类之间的关系,类的属性方法都表现出来,将类的封装继承多态,类的多线程交互体现的淋漓尽致。
总结自己在四个单元中测试理解与实践的演进
第一,二单元:
自己构造测试数据手动测试。
第三,四单元:
使用JUnit进行自动测试。
总结自己的课程收获
收获了编程能力的提升
收获了助教大大的关爱
收获了面向对象的理论知识与工具链
收获了自信与勇气
收获了更高的发际线
立足于自己的体会给课程提三个具体改进建议
1.三单元建议给出高性能算法的提示,不然在快乐的JML中TLE很难受
2.建议在pre专门开一节“如何构建测评机”,而不是让同学们痛苦的探索。
3.如果可以的话,老师可以在课上打代码,同学们能加深印象。我直接看PPT上代码一是看不清,二是没重点,三是不知道老师讲到哪里。(要求有点高,不易满足。。。)
标签:OO,对应,电梯,楼层,BUAAOO,解析,第四,单元 来源: https://www.cnblogs.com/lyh19373587/p/14933984.html