- 博客(6)
- 收藏
- 关注
原创 软件构造第三章3.4:面向对象编程(OOP)
对象 对象是类的一个实例,有状态和行为。状态是对象中的数据,行为是对象中的操作。 接口 一系列方法签名的列表,但不具有方法体,不可实例化。 抽象类 具有0或若干个抽象方法(无方法体)的类,不可实例化。 具体类 不含抽象方法,所有方法均具有方法体,可实例化的类。 继承注意事项 声明为final的类不可被继承。 Java只允许单继承,不允许多继承。 重写(override) 条件...
2019-06-24 21:44:55 302
原创 软件构造第三章3.3:抽象数据型(ADT)
ADT操作的类型 Creators:创建某个类型的新对象,⼀个创建者可能会接受⼀个对象作为参数,但不包括接受本类型的对象从而构建新对象。可能实现为构造函数或静态函数。(通常称为工厂方法) Producers:接受一个或几个本类型的对象从而创建新对象。例如String中concat()方法。 Observers:接受本类型对象,返回其他类型对象。例如List的size()方法、Set的cont...
2019-06-24 21:28:30 233
原创 软件构造第三章3.2:规格说明
规格说明的结构 一个规格说明含有以下两个“条款”: 一个前置条件,注释是requires 一个后置条件,注释是effects 其中前置条件是客户的义务(谁调用的这个方法)。它确保了方法被调用时所处的状态。 而后置条件是实现者的义务。如果前置条件得到了满足,那么该方法的行为应该符合后置条件的要求,例如返回一个合适的值,抛出一个特定的异常,修改一个特定的对象等等。 规约的意义 规约描述了方...
2019-06-24 21:20:04 192
原创 软件构造第三章3.1:静态检查
类型 类型是一些值的集合,以及这些值对应的操作。 例如下面这5种常用的原始类型 : int 例如5和-200这样的整数,但是其范围有限制,大概在±20亿) long (比int更大范围的整数) boolean对或错这两个值) double (浮点数,其表示的是实数的子集) char (单个字符例如 'A' 和 '$') Java也有对象类型 ,例如: String 表示一...
2019-06-24 21:07:15 183
原创 软件构造第二章:版本控制
第二章最主要的就是版本控制,而目前最方便、简介且免费的分布式控制工具就是git。 git简介: 工作区(workspace):可直接编辑,相当于工作副本。 暂存区(staging):记录工作区中被修改过且修改被添加到暂存区的文件。 本地仓库:即位于本地的版本仓库。 远程仓库:即位于远程的版本仓库。 git指令图: 这图片来源于廖雪峰的个人网站。 git存储原理: git将每个文...
2019-06-24 20:51:15 199
原创 软件构造第一章:软件构造的多维视图
Build-time views 简单翻译为构造阶段视图,从想法到用户需求到产品设计到代码编写再到可安装/可执行的程序包,其实都属于构造阶段。 Build-time, moment, code-level 代码如何在逻辑上被组织为基本的程序块,例如函数、类、方法、接口等,以及其之间的依赖关系。 Build-time, period, code-level 代码在时间尺度上的变化,...
2019-06-24 20:40:01 241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人