码迷,mamicode.com
首页 > 其他好文 > 详细

【软件构造】课程提纲(2)

时间:2018-06-07 23:00:35      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:任务   对象   软件   ado   method   名称   方便   方法   不同   

第三章

  1. 基本/对象数据类型

(1)基本数据类型:只有值,不可变,廉价,在栈中,使用时存在,无法实现表达的统一

(2)对象数据类型:继承自Object,有不同身份,有些可变,更昂贵,在堆中,等待垃圾回收,表达与泛型统一

  1. 静态/动态类型检查

(1)静态检查:代码运行之前,检查名称、语法、参数数量和类型、返回类型,优于动态检查

(2)动态检查:代码执行时,检查非法参数值、不可表示的返回类型、数组越界、空指针引用

  1. 可变性与不变性

(1)不变性:主要的设计原则

·不变数据类型创建完后,值不可修改final指定引用位置,不可再次指定

·final class不能再被继承,final method不能被重写

·优点:可理解性强、易读、安全、不需要被防御性复制

(2)可变性:可以改变变量值,方便分享、方便作为全局变量

(3)例:StringStringBuilder

String t = s; t = t + “c”; 指向新对象

StringBuilder tb = sb; tb.append(“c”); 改变原来的值

 

  1. /引用的改变:改变引用是改变指针,改变值是在这个指针下改变对象内容
  2. 防御式复制:针对可变对象而言,返回一个复制的新对象,占用额外空间
  3. 快照图

(1)原始值快照图示例:

 

(2)对象快照图示例:

 

  1. 规格说明、前置/后置条件

(1)规格说明:名称、功能、参数、返回值

 

(2)前置条件(requires)是客户的任务,后置条件(effects)是实现者的义务,前置条件满足时,应满足后置条件,前置条件未满足时,后置条件无所谓。

 

(3)JavaDoc

 

  1. 行为等价性:用一个实现代替另一个实现。为了使替代成为可能,需要一个规范来说明客户端依赖的内容,规范不应提及方法类的局部变量或私有字段。
  2. 规约的强度:若S2强于S1,要么前置条件弱,要么后置条件强

【软件构造】课程提纲(2)

标签:任务   对象   软件   ado   method   名称   方便   方法   不同   

原文地址:https://www.cnblogs.com/zhangyushuqing/p/9152993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!