摘要: 软件构造OOP总结 基本概念 ​ Object:两部分组成。1.State,object中的数据域 2.Behavior在java中可以视为方法 ​ Class :定义了object中的那两部分。这里着重介绍下Class中的方法: 类方法,即被static修饰的方法 实例方法,除了类方法以外的方法 阅读全文
posted @ 2022-06-10 14:09 amadeus728 阅读(44) 评论(0) 推荐(0)
摘要: 软件构造ADT总结 前面讲了方法的操作与其规约以及数据类型及其特性,现在将数据和操作复合起来,构成ADT 抽象与用户定义的类型 除了编程语言所提供的基本数据类型和对象数据类型,程序员可定义自己的数据类型。 数据抽象 指的是由一组操作刻画的数据类型。 传统的类型定义关注于变量的具体表示,比如说设计一个 阅读全文
posted @ 2022-06-08 22:21 amadeus728 阅读(100) 评论(0) 推荐(0)
摘要: 软件构造设计规约总结 function & method 例子: public static void main(String[] args) { STATEMENTS } 注意 参数类型是否匹配的检查在静态检查阶段完成 返回值是否匹配的检查在静态检查阶段完成 完整的方法应该包括其规约:specif 阅读全文
posted @ 2022-06-06 23:36 amadeus728 阅读(113) 评论(0) 推荐(0)
摘要: Data Type and Type Checking 笔记 这是复习软件构造第四章时做的笔记 3可变性与不可变性 1 赋值 用‘=’号赋值 赋值时前面可以有变量声明 double a = 3.14 2改变一个变量与改变其值的区别 改变一个变量:将其指向另一个存储空间 改变一个变量的值:向该变量目前 阅读全文
posted @ 2022-06-05 21:42 amadeus728 阅读(36) 评论(0) 推荐(0)
摘要: Junit的各个测试执行顺序的调试简析 来源 在完成软件构造课程的lab1时,其中有一部分时需要让我们为一个类 FriendshipGraph 编写测试,这个类大概有以下三个功能(方法): 将一些顶点加入有向图 讲对应的边加入有向图 计算有向图两点之间的距离 那么明显这个测试类的对应的测试1,2,3 阅读全文
posted @ 2022-05-16 00:27 amadeus728 阅读(112) 评论(0) 推荐(0)
摘要: DFA设计 设计DFA接受{0,1}上的字符串ω,且ω是3倍数的二进制表示 先叙述下思路: 要想证明某数是3的倍数可以让其除以3看余数是否为零即可,现在我们的问题就是如何计算一串二进制数除以3所得的余数 而二进制表示的一串数可以通过一系列的步骤从短位数除以2所得的值逐渐构造出长位数除以2所得的值我们 阅读全文
posted @ 2022-02-28 23:01 amadeus728 阅读(1015) 评论(0) 推荐(0)