- 博客(7)
- 收藏
- 关注
原创 软件构造课程总结(5)
软件构造课程总结(5) 这里是HIT2021软件构造课程的总结博客,主要书写了本学期软件构造的所有课程内容和实验内容。 第八章、ADT和OOP中的等价性 1.根据AF来判断 2.equals()重写Object的方法 3.Hash的特别方法 4.可变类型的等价性 观察等价性(可能有bug) 行为等价性(看内存位置,直接用Object的==) 第十一章、面向可复用性和可维护性的设计方式 关键词:工厂方法、adapter、decorator、strategy、template method、iterator、v
2021-07-07 20:47:24
130
原创 软件构造课程总结(4)
软件构造课程总结(4) 这里是HIT2021软件构造课程的总结博客,主要书写了本学期软件构造的所有课程内容和实验内容。 1.对象、类、属性和方法 Instance多个栈、static一个栈 2.接口和枚举 接口确定ADT规约,类用来实现ADT 倾向于使用接口来定义变量。 接口中一般没有constructor 3.通过接口来写代码 先写一个接口public interface MyString,再写一个实现pulic class SimplyMyString implements MyString,其中使用@
2021-07-07 20:45:42
99
原创 软件构造课程总结(3)
软件构造课程总结(3) 这里是HIT2021软件构造课程的总结博客,主要书写了本学期软件构造的所有课程内容和实验内容。 第六章、ADT 1.表示独立性:通过封装来阻止用户访问程序内部 2.抽象函数AF 3.表示不变量RI 4.数据抽象:强调作用于数据上的操作,在java中使用类的方法 5.可变数据类型和不可变数据类型:改变时,前者改变内存中数值,后者构造一个新对象 6.四种方法:creators、producers、observes、mutators 7.creators:构造函数或者静态函数,或者工厂方法
2021-07-07 20:44:33
77
原创 软件构造课程总结(2)
软件构造课程总结(2) 这里是HIT2021软件构造课程的总结博客,主要书写了本学期软件构造的所有课程内容和实验内容。 第四章、数据类型与类型检验 1.程序中的数据类型 数据类型范围基本数据类型和对象数据类型。 基本数据类型: int, long, byte, short, char,float, double, boolean 只有值,没有ID 均为不可变类型 在栈中分配内存 对象数据类型: 又值也有ID 在堆中分配内存 对象数据类型的结构: 有继承关系 有操作符 有重载 2.可变和不可变类型 一句话来说
2021-07-07 19:39:27
72
原创 软件构造课程总结(1)
软件构造课程总结(1) 这里是HIT2021软件构造课程的总结博客,主要书写了本学期软件构造的所有课程内容和实验内容。 第一章、软件构造的多篇维度视图和质量目标 1.软件构造的多重视图: 这一小节主要讲述了软件构造的三视图维度,分别从时间点还是时间段(Moment or Period)、构建还是运行(Build-time or Run-time)以及代码的逻辑结构和物理结构(Code-level or Component-level)讲述了软件构造。 下面是一些比较重要的知识点: 1.Code-level:
2021-07-05 23:25:40
253
原创 HDU - 4460 Friend Chains(邻接表&BFS)
小白日记.2 HDU - 4460 Friend Chains 题目大意:如果两个人互为朋友则距离为一,距离可累加,求一群人中任意两个人之间的最短距离的最大值。 常见的BFS 利用邻接表剪枝 代码如下: #include <iostream> #include <stdio.h> #include <string.h> #include <queue>...
2020-03-06 02:32:57
350
原创 HDU1240 Asteroids! (三维BFS)
#小白日记.1 HDU1240 Asteroids! 题目大意:三维空间的走迷宫。 注意题目中x,y,z坐标的定义。 比较常规的BFS题目 需要用到三维数组 下面是代码: #include <iostream> #include <stdio.h> #include <string.h> #include <queue> #include <i...
2020-03-05 22:37:37
139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人