HIT-SC
文章平均质量分 71
ECuiiiii
这个作者很懒,什么都没留下…
展开
-
【软件构造】LSP里氏代换原则笔记
里氏替换原则主要阐述了有关继承的一些原则,也就是什么时候应该使用继承,什么时候不应该使用继承,以及其中蕴含的原理。里氏替换原是继承复用的基础,它反映了基类与子类之间的关系,是对开闭原则的补充,是对实现抽象化的具体步骤的规范。里氏替换原则的主要作用如下。里氏替换原则通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。根据上述理解,对里氏替换原则的定义可以总结如下:通过重写父类的方法来完成新的功能写起来虽然简单,但原创 2022-06-14 12:00:00 · 142 阅读 · 1 评论 -
【软件构造】git常用操作笔记
一个本地git仓库分为三个部分:工作目录,暂存区与git仓库。工作目录就是文件系统中的源代码目录,暂存区中暂存工作目录中已经修改了的文件,git仓库则是经过编码处理的版本控制仓库。 1.git init 初始化git仓库 2.git status 用来查看文件的状态 3.git add 文件列表 追踪文件 4. git commit -m 描述信息 向仓库中提交代码 5.git log 查原创 2022-06-13 22:13:03 · 138 阅读 · 0 评论 -
【软件构造】HIT软构实验2
目录1 实验目标概述··· 12 实验环境配置··· 13 实验过程··· 13.1 Poetic Walks· 13.1.1 Get the code and prepare Git repository· 13.1.2 Problem 1: Test Graph · 23.1.3 Problem 2: Implement Graph · 23.1.3.1 Implement ConcreteEdgesGraph· 23.1.3.2 Implement ConcreteVe...原创 2022-06-07 11:15:00 · 347 阅读 · 0 评论 -
【软件构造】在软构实验中使用JShell快捷检验语言特性
对于我这样不常使用Java进行开发的人来说,在写软构实验的时候,经常需要验证自己关于语言特性的猜想是否正确。例如,我曾经产生了如下疑问:将一个Map的内容使用构造函数复制到另一个Map中以后,修改第二个Map中某个键关联的值,会不会影响到第一个Map呢?如果使用传统的方式编程验证,则需要从头开始新建工程,编辑代码并运行;即使是从现有的工程中验证,也需要修改主类代码进行验证。无论用哪种方式,都比较麻烦。我使用JavaScript、Python等语言较多,这类语言都支持一种交互式运行环境"REPL"(Rea原创 2022-06-09 11:15:00 · 133 阅读 · 0 评论 -
【软件构造】Java8 Lambda表达式的个人见解
由于个人技术栈的关系,我较多使用C++、C#、Python和JavaScript/TypeScript语言编写程序,这些语言的较新版本都加入了Lambda表达式(JS中较为正式的名称为“箭头函数”,Arrow function),用来拓展其函数式编程的能力。我在这些语言中经常使用Lambda表达式,并运用函数式编程的思想,开发效率得到了很大的提升,我也从中获得了无穷的快感。然而,相对来说,我使用Java并不算太多,只知道Java 1.8(现在直接称为Java8)中加入了Lambda表达式。在软构实验中,我也原创 2022-06-02 11:00:00 · 116 阅读 · 0 评论 -
【软件构造】HIT软构实验1
HIT软构实验1原创 2022-05-31 10:46:43 · 268 阅读 · 0 评论