FuLucas's blog

Archives · 2021

Home

About

Archives

loading..
HIT-Software-Construction

软件构造笔记六——ADT抽象数据类型

抽象数据类型 表示泄露 AF RI Abstraction and User-Defined Types 抽象和用户定义的类型 抽象类型:强调“作用于数据上的操作”,程序员和client无需关心数据如何具体存储的,只需设计/使用操作即可。 ADT是由操作定义的,与其内部如何实现无关! 2 Classifying Types and Operations 分类类型和操作 可变类型的对象:提供了可改变其内部数据的值的操作。不变数据类型: 其操作不改变内部值,而是构造新的对象 Creator 构造器 可以将对象作为参数,但是不能把对象类型作为构造对象。(t* -> T) Producer 生产器 例如 String 的 contact 方法,将两个两个字符串连接为一个新的字符串..

Read more
loading..
HIT-Software-Construction

软件构造笔记五——设计规约

规约的强度及其比较 如何写出好的规约 Functions & methods in programming languages 返回值类型是否匹配、参数类型是否匹配,在静态类型检查阶段完成 使用“方法”的客户端,无需了解方法内部(方法体信息隐藏)具体如何工作—“抽象”。 2 Specification: Programming for communication API:应用程序编程接口 Documenting in programming “假设”写什么?变量的数据类型定义、final关键字定义了设计决策-“不可改变”、方法假设策略 为什么写?:自己记不住、别人不懂 编程时注意两点目标:代码中蕴含的“设计决策”--给编译器读;注释形式的“设计决策”--给自己和别人读。就是依据假设来进行..

Read more
loading..
HIT-Software-Construction

软件构造笔记四——数据类型与类型检验

数据数据类型及定义,检测方式 Mutable, Immutable snapshot图解析数据类型 1 Data type in programming languages 数据类型 A type is a set of values, along with operations that can be performed on those values. 数据类型 = 一组值 + 可执行操作 primitive types 基本数据类型:int, long, boolean, double, char object types 对象数据类型:String, BigInteger Java 约定:基本数据类型是小写字母开头,对象数据类型是大写字母开头 PrimitiveObject ..

Read more