内容简图

软件构造——第三章助记
软件构造——第三章助记软件构造——第三章助记软件构造——第三章助记软件构造——第三章助记

较详细细节重点

软件构造——第三章助记

静态类型检查发生在编译阶段,检查语法错误、类名/函数名错误、参数数目错误、返回类型错误。即在不允许时出现的语法错误和类型匹配错误,可以由机器直接判断。
动态类型检查发生在运行阶段,检查非法参数值、非法返回值、越界、空指针。即关于值和输入引发的错误,只有在运行的时候才能发现。

Final能够保证无子类、无法改变引用、无法被子类重写,但是并不能保证值一定不变。

Snapshot
双线/圈表示不可变值/引用,对于mutable和immutable对象。Snapshot图存在不同。
软件构造——第三章助记软件构造——第三章助记

利用Collections内的unmodifiable对象构造不可变类型:
Collections.unmodifiableList
Collections.unmodifiableSet
Collections.unmodifiableMap

Creator:通过输入,生成实例
Producer:通过已存在实例与输入,生成新实例
Observer:获取实例内的数据
Mutator:对实例内数据进行更改

observational equality:不改变状态时(不进行mutator),两个对象看起来一致(内部属性一致)
behavioral equality:调用同一方法后展示相同结果

如果需要更改输入的参数,需要在post-condition中声明,一般默认不更改输入参数,便于复用。
一个class只能extend一个父类/抽象类,但是可以implement多个接口
protected:protected定义的属性,适用范围为该类及其子类,也即子类能够直接调用;private范围为当前类。
default:用于接口中,作为自动补全方法。

相关文章:

  • 2021-11-17
  • 2022-02-13
  • 2021-07-22
  • 2022-12-23
  • 2021-07-11
  • 2021-07-04
  • 2021-10-09
  • 2021-10-05
猜你喜欢
  • 2021-05-24
  • 2021-09-05
  • 2021-06-23
  • 2021-11-29
  • 2021-09-11
  • 2021-11-10
  • 2021-07-10
相关资源
相似解决方案