面向对象设计与构造2022 (北京航空航天大学 - 计算机学院)

  • 第三单元总结作业

    本单元直接给出基于JML的规格说明,因此在编写程序的时候,只需要认真阅读前置条件以及后置条件,抛出的异常等内容就可以实现代码。规格为数据规格和方法规格两种,而方法的实现需要基于数据的组织形式。 在规格实现中,基于数据类型直接按照规格来写也可以,数组可以使用Java提供的容器类比如Linkedlist
    quinna   2022-05-31 17:51   0   19
  • 北航20级oo课程第三单元总结

    OO第三单元总结 架构设计: 本单元我们的主要任务是按照jml规格实现接口,主体代码已由课程组撰写完成。UML类图中展示的是第三次作业中自己实现的类以及它们之间的联系。前两次作业的架构大同小异,这里不多做展示。 架构分析: 本次作业涉及到基本的图论知识,在算法实现时,需要格外注意时间的复杂度,这个在
    白松鼠   2022-05-31 17:27   0   40
  • 第三单元

    1. 架构设计 1.1 第一次作业 ​ 此次作业的架构比较简单,首先依据Person接口和JML规格来实现MyPerson,MyPerson类生成的每个对象都会有id(编号)、name(姓名)、character(性格)、age(年龄)、acquaintAndVaule(认识的Person和两人关系
    BuniQ   2022-05-31 16:48   0   22
  • 「BUAA OO Unit 3 HW12」第三单元总结

    「BUAA OO Unit 3 HW12」第三单元总结 Part 0 前言 值得一提的是,笔者在做作业中探索了适合自己的策略,和大家分享: 首先通览guidebook,了解大致需求以及用到的算法 实现异常类 实现一般类中新增的内容,可以用Tricks一节中的插件进行比较快速得知更新内容 Part 1
    被水淹没的一条鱼   2022-05-31 16:20   0   144
  • OO 第三单元总结

    OO 第三单元总结 规格的阅读与实现心得 JML的阅读方法 语法上, 可以参考课程组的《JML level0手册》, 涵盖了基本的jml关键词和语法,看不明白的话可以多翻翻,类比着就搞懂了 阅读顺序上, 阅读JML可以从一些比较底层的类开始读, 比如Person, Message这种依赖关系比较少的
    cywuuuu   2022-05-23 20:59   0   171
  • OO第二单元作业总结

    第五次作业 本次作业使用了九个类,MainClass是主类,负责各类的初始化并实现电梯运行的顶层逻辑;Input类随时获得搭乘电梯的请求并将其发送给分发器;分发器Distributer类判断请求的类型并把它分派给合适的大楼;Building、Strategy、Elevator类利用RequestQu
    联会与分离   2022-05-04 15:59   0   51
  • BUAA OO Unit2 —— Multithreading Elevator

    BUAA OO Unit2 —— Multithreading Elevator by Monument_Valley 0. 写在正文前 本篇博客是对笔者在北航2022年春季《面向对象设计与构造》课程第二单元的三次作业的总结。 本单元的主要任务为通过程序模拟一套多线程运行的电梯系统,并为输入的乘梯请
    Monument_Valley   2022-05-04 15:55   0   88
  • OO第二单元总结

    BUAA_OO_2022_第二单元总结 OO第二单元作业主题为多线程,具体的任务是要实现一个五栋楼的电梯系统,三次作业分别为每栋楼一个电梯,每栋楼多个竖向电梯且引入横向电梯,支持换乘且电梯参数可自定义,下面我分享一下我在本单元的学习心得和作业完成情况。 第一次作业 同步块的设置以及锁的选择 在整个第
    hdd1211   2022-05-04 15:47   0   24
  • OO第二单元作业总结

    一、综述 第二单元的三次作业总体围绕的是电梯接人问题,其中涉及到的最核心的一点便是多线程。相比第一单元的单线程运行,多线程的运行很明显会带来很多麻烦。首先,多线程的程序是无法深入使用IDEA自带工具进行debug的,只能使用输出的方式来间接进行debug,测试也不同于以往,是使用数据投喂包按时间进行
    谷小来   2022-05-04 15:36   0   16
  • BUAA OO第二单元总结

    BUAA OO第二单元总结 一、第五次作业 1.基本思路 设置InputThread类,用来处理并分发请求至对应的楼座队列,该线程在所有输入都完成分配之后,会将每个楼座的候乘表的isEnd属性置为true,通知其输入结束。控制器负责管理楼座中的电梯与候乘表,而电梯作为一个线程独立运行。电梯的具体行为
    KKbecomesbald   2022-05-04 15:29   0   85