笔记
文章平均质量分 58
七十带病肝代码
这个作者很懒,什么都没留下…
展开
-
相关软件配置总结
都大学生了还不知道怎么写文章,有点丢人原创 2021-05-18 16:43:21 · 88 阅读 · 0 评论 -
多态的例子(以哈工大某年软件构造期末题为例)
如果用父类的类型声明了new的子类的对象,会发生什么? 也就是 Animal a = new Cat();以Father和Son两个类来举例子。父类:Father ,子类 Child extends Father。Father child==new Child();解释:要理解多态性,首先要知道什么是“向上转型”。我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类。我可以通过Cat cat = new Cat();实例化一个Cat的对象,这个不难理解。**但当我这样原创 2021-07-06 20:50:11 · 149 阅读 · 1 评论 -
关于静态/动态类型检查 和 不可变包装的笔记
静态类型检查和动态类型检查Java是一种静态类型语言。所有变量的类型在编译时(在程序运行之前)都是已知的,因此编译器也可以推导出所有表达式的类型。如果a和b声明为int,那么编译器得出结论,a+b也是int。相比较之下,在像Python这样的动态类型语言中,这种检查会被推迟到run-time。静态检查一个bug比动态检查好,而动态检查它比根本不没检查它好。静态检查的好处就是可在编译阶段发现错误,避免了将错误带入到运行阶段,可提高程序正确性和鲁棒性。静态类型检查其中的检查大体包含以下几种类型:不原创 2021-07-05 23:12:43 · 428 阅读 · 0 评论 -
final的用法
final的用法一、final关键字可以用来修饰类、方法、变量。各有不同。A、修饰类(class)。1、被final修饰的类将不能被继承。final类中的方法也都是final的。2、类中的方法不会被覆盖,因此默认都是final的。3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类B、修饰方法(method)1、该方法不能被Override。2、用途:一个类不允许子类覆盖该方法,则用final来修饰3、好处:可以防止继承它的子类修改该方原创 2021-07-05 21:38:05 · 318 阅读 · 0 评论 -
Git的简单总结(面向考试和实验操作)
Git的总结马上要考试了,考试内容还要包括Git,所以在这总结一下Git的重要命令。好多命令其实在实验中已经用到了,有一些是实验一配置Git时候用到的,有一些是提交的时候用到的。实验三还用到了分支处理的命令,因为实验三需要增加一个change分支,来保存之后功能的修改。其实除了那些基本的命令之外,其他的命令估计考试也不会拿出来考,平时也很少用到。因此仅仅总结了很少一部分。配置工具(实验一可能用到的命令)对所有本地仓库的用户信息进行配置$ git config --global user.na原创 2021-07-05 19:30:35 · 164 阅读 · 0 评论 -
实验三总结
实验三总结实验三实在太难了,赶在了冲突的时候弄了这么大工作量的实验,服了.不过还好写完了,这里总结一下.三个场景的总结容易看出,三个场景最明显的共同特征就是“时间段”和“标签”的对应关系。对于值班表来说,哪位员工(标签Employee)在什么时间段(interval)值班,是标签和时间段的对应关系;对于进程管理来说,在一个进程的时间线上,哪个进程(标签Process)要在哪一段时间(interval)执行,是标签和时间段的对应关系;对于大学课表排课系统来说,在一周之内,哪门课程(标签Cours原创 2021-07-04 12:36:36 · 86 阅读 · 0 评论 -
抽象相关
抽象1.抽象的概念基础概念:从众多的事物中抽取出来的共同的、本质的特征,而舍弃其非本质特征的过程。重点在于 共同 本质 特征2.抽象方法和抽象类(1)抽象方法:如果父类当中的方法不确定如何进行{}方法体的实现,那么这个就应该是一个抽象方法。格式:在返回值前加上abstrct关键字,然后去掉大括号(也就是不包括方法体),直接以分号结束。例如:现在有一个父类(动物),定义一个吃东西的方法,在子类(狗、猫)中定义吃东西的方法,有具体的表现(狗吃骨头,猫吃鱼)。可以看出父类中是无法具体定义方法体的,但是原创 2021-07-02 00:03:05 · 88 阅读 · 0 评论 -
2021-06-29
主要内容来自MIT6.031 Software Construction课程及HIT 软件构造课程。Snapshot Diagram是一种能表示程序运行时状态的图。使用绘Snapshot Diagram的方式对我们了解在运行时发生了什么是很有帮助的,尤其是在解决一些复杂的bug时。Snapshot Diagram也对我们理解一些Java的概念有帮助,例如基本数据类型(primitive type)和对象数据类型(object type)、不可变值(immutable value)以及不可变引用(immu原创 2021-06-29 15:22:09 · 66 阅读 · 0 评论 -
Designing reusable classes 设计可复用的类
§ Designing reusable classes 设计可复用的类马上要软件构造期末考试了,整理一下学习笔记– Inheritance and overriding 继承与重写– Overloading 重载– Parametric polymorphism and generic programming 参数多态与泛型编程– Behavioral subtyping and Liskov Substitution Principle (LSP) 行为子类型与Liskov替换原则– Co原创 2021-06-29 09:31:47 · 139 阅读 · 0 评论 -
软件构造之数据结构与算法相关内容结构体系汇总
最近做了软件构造实验二,和实验一一样用到了数据结构与算法的一些内容。在此,总结一下之前学过的数据结构与算法的内容,来为之后课程和实验更好服务。以上是大概的知识体系,有利于之后的学习。...原创 2021-06-17 08:46:59 · 101 阅读 · 0 评论