刷新
第三次Blog作业

博主头像 一、前言 对整门课程的概要性总结,从工作量与难度两大角度展开分析,总体说明学习体验。 (一)工作量评估 学习任务 工作量星级 详细说明 Blog 作业 ⭐⭐⭐ 工作量在可接受范围。Blog作业主要是在每次的PTA迭代作业完成后,要求我们对这次迭代作业或者是对于课程的学习,完成一个总结型的文章,然后时 ...

题目集8~9总结性Blog

博主头像 一、前言 对这两次题目集的总结: 这两次题目集相较于上次迭代作业来说,在题目量和难度上都做了下调。但要求我们在理解题目意思、设计好程序结构、掌握并运用知识这三方面有一定的要求。涉及到类的继承与多态,抽象类的设计和抽象方法的灵活运用。以及面向对象的几种程序设计的原则(单一职责原则、里氏代换原则、开闭原 ...

NCHU OOP BLOG1--电梯调度程序

NCHU OOP BLOG1--电梯调度程序 目录 1.前言 2.设计与分析 3.踩坑心得 4.改进建议 5.总结 正文 1.前言 这三次大作业主要围绕的对电梯的调度来展开,调度算法为LOOK算法,实际上,比现实中的一些电梯所用算法更简单。 其中,第一次作业难度最大,后面两次作业进行迭代并不难; 考 ...

行为型设计模式——观察者模式

博主头像 观察者模式(Observer Pattern)是一种行为型设计模式,通过定义对象间一对多的依赖关系实现状态变化的自动通知机制,广泛应用于解耦事件发布与订阅场景 适用于 ①当一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这两者封装在独立地对象中以使它们可以各自独立地改变和复用。 ②当对一个对 ...

为什么构造函数需要尽可能的简单

博主头像 最近在做一些代码重构,涉及到Python中部分代码重构后,单元测试实现较为麻烦甚至难以实现的场景,其中一个主要的原因是构造函数过于复杂。 因此,本篇文章借此总结一下我们应该需要什么样的构造函数。本篇文章涉及的概念不仅限于Python。 构造函数是什么 构造函数用于创建对象时触发,如果不自定义构造函数 ...

对象命名为何需要避免'-er'和'-or'后缀

博主头像 之前写过两篇关于软件工程中对象命名的文章:开发中对象命名的一点思考与对象命名怎么上手?从现实世界,但感觉还是没有说透, 在软件工程中,如果问我什么最重要,我的答案是对象命名。良好的命名能够反映系统的本质,使代码更具可读性和可维护性。本文通过具体例子,探讨为何应该以对象本质而非功能来命名,以及不当命名 ...

Servlet详解

博主头像 概念 Servlet是运行在服务端的小程序(Server Applet),可以处理客户端的请求并返回响应,主要用于构建动态的Web应用,是SpringMVC的基础。 生命周期 加载和初始化 懒加载(默认在客户端第一次请求加载到容器中),通过反射实例化,并调用init(),且init()只能被调用一次 ...

UML之发现用例

博主头像 用例是最简单的UML元素,用例图是最简单的UML图,但它也可能是UML中最有用的元素之一。尽管我们用包将工作分解为工作包、团队任务或单项任务,也就是说包是组织UML中的各种图及元素的工具。但是用例图可以帮助我们确定任务,以及应当如何将它们分组并确定工作范围。 每个用例都代表用户希望系统帮助实现的一个 ...

UML之泛化、特化和继承

博主头像 在UML(统一建模语言)中,泛化(Generalization)和特化(Specialization)是面向对象思想中继承(Inheritance)关系的重要概念,它们描述类与类(或用例与用例、参与者与参与者等)之间的一般与特殊的关系。 ...

UML之组合与聚合

博主头像 关联和链接关系在很多情况下是对称的,即被关联的两个类都有以自己为源端对方为目标端的角色存在。如果希望表达一种非对称的关系,可以使用“组合”或“聚合”关系进行建模,而这两者是类似但又有区别的两种关系。 ...

UML之关联

博主头像 关联指两个类之间的各种联系。UML使用各种单实线表示关联,但关联所能够表达的信息远不只是一条实线所传递的依赖。 ...

UML之集合类型

博主头像 无论何时当我们要使用一个多值对象时,我们必须要清楚两个问题,一是这些值的顺序重要吗?二是允许重复值的存在吗?在编程语言中还会有其他的明确的信息,在UML中,只需明确这两个问题的答案即可确定对应的集合类型。 1.Set Set是一个不允许存在重复值且未排序的集合。 例如一个骑行活动中,有许多骑手参加。 ...

UML之属性与参数的多重性

博主头像 在UML中,多重性是指一个条目潜在的数量范围。多重性可被用于属性、操作参数、关联关系。UML元模型也使用多重性对元模型元素之间的关系进行约束。多重性总是包含基数值,它是相关条目在现实世界中的确切数量。本文将说明类属性和类操作参数的多重性。 一、属性的多重性 假设我们需要定义一个表示书的Book类,它 ...

UML之模型、包及包的版型(构造型)

博主头像 包是UML模型的组织结构,也是UML项目的配置管理结构。包存在多个层级,除了顶层包,所有包隶属于一个且仅隶属于一个上层包。在项目不同阶段实际推进与配置过程中,通常以不同层级的包为单位进行check-in、check-out、打标签及建立基准。许多项目会在计划的时间点进行正式的官方评审,例如系统需求评 ...

UML之包的导入与访问

博主头像 包是UML中管理元素的有效手段,UML中的所有元素均隶属于某一个包,即使你没有指定元素所属的包,这些元素也会被置于一个默认包中,包的本质是命名空间。当我们在一个包中需要访问另一个包中的元素时,可以使用符号“::”逐级引用。 例如在下图所示的包图中,存在两支包含多个层次的包,如果包A3中的元素需要访问 ...

UML之包与包图

博主头像 了解UML的人都知道UML中也有包的概念,包在UML中作用与面向对象编程语言中类似,它是管理对象的工具,也是解决对象同名冲突的手段。 在UML中,包的表示图形是一个左上角带标签的矩形,而包名可以标注于矩形中央(如下图所示,包名Package1位于矩形中央)或者左上角的标签之内。 将包名置于包图形中央 ...

面向对象程序设计

博主头像 第二次博客作业 一、前言 第一次作业 第一次作业有三道题,前两道道为入门的小题,最后一题在之前的答题判断程序上进行了第四次迭代,在题目方面添加了多选题以及填空题,试卷方面添加了多张试卷多个同学答题的输入情况,判题方面添加了部分正确这一得分级别,整体难度较大。 第二次作业 第二次作业有三道题,后两道为 ...

面向对象程序设计

博主头像 第一次博客作业 一、前言 第一次作业 第一次作业有五道题,前四道为入门及简单的小题,最后一题为难度较大的答题判断程序。主要考察对类的属性和方法的设计与使用,以及在规定格式下对程序用户的输入进行解析从而获取题目、答卷等信息。 第二次作业 第二次作业有四道题,前三道为难度入门的小题,最后一题难度较大,在 ...