- 博客(6)
- 收藏
- 关注
原创 哈工大软件构造-关于等价性的理解与分析
不可变对象的观察等价性与行为等价性是一致的,因为:1.满足观察等价性的时候,因为对象的不可修改性(无mutator),它们在未来的任何阶段都保持着等价,由此就满足行为等价性。2.满足行为等价性的同时必然满足观察等价性,行为等价性是观察等价性的充分条件不可变对象考虑的是引用等价性(==)和对象等价性(重写equals方法)通常来说,不可变类型都是需要重写equals和hashcode的,因为要判断其观察定义的等价性或者从AF定义的等价性。不同的可变类型采用不同的等价性标准:Collections使用观察等
2022-06-08 20:42:13 121
原创 哈工大软件构造-规约与ADT基础知识总结
Spec是程序员在设计ADT时对自己所写方法的规约,它规定了方法应该做什么,不应该做什么。而在接下来的设计中,测试用例的编写就需要依靠Spec的描述,因为程序员所编写的代码必定是符合spec的,否则就是不合格的。同时,有了Spec的存在,客户端在使用代码时就会有所依据,好的Spec可以大大节省客户端使用自己的API时所需要的时间,并且大大降低了客户端对自己所编写的代码的误解。很多bug来自于双方之间的误解不写下来,那么不同开发者的理解就可能不同没有规约,难以定位错误精确的规约,有助于区分责任客户端无
2022-06-04 17:36:20 172
原创 哈工大软件构造-OOP课程总结
与静态变量相似,用static修饰符修饰的方法属于类的静态方法,又称为类方法。静态方法的实质是属于整个类的方法,而不加static修饰的方法是属于某个具体对象的方法。一个方法生声明为static有以下几重含义:非static的方法是属于某个对象的方法,在创建这个对象时,对象的方法在内存中拥有属于自己的代码段。而static的方法是属于整个类的方法,它在内存中的代码段被所有的对象所拥有,而不被任何一个对象所专有。由于static方法是属于整个类的方法,故不能直接操作和处理属于某个对象的成员,而只能处理整个类
2022-06-04 12:19:19 95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人