软件构造课程笔记8——Snapshot Diagram总结

介绍

Snapshot Diagram可以描述程序运行时的内部状态,让我们对程序的运行有所了解。

使用Snapshot Diagram可以解释一些基本概念,刻画各类变量随时间变化,便于解释设计思路,方便程序员之间的沟通。

同时Snapshot Diagram能够更加直观地向我们展示值得改变以及引用的改变之间的关联和具体实现。

具体画法

用变量名-箭头->变量值/椭圆的形式表示各类变量当前的值。用x标记删去的旧值与旧引用。

对于基本类型的值,使用单箭头指向实际值,不需要表明数据类型:

对于对象类型的值,箭头指向一个椭圆:

如果是可变(mutable)对象,使用单线椭圆,椭圆内写明对象的类型及对象内的值。

如果是不可变(immutable)对象,使用双线椭圆,椭圆内写明对象的类型及对象内的值。

如果是对象的可变引用(对象类型变量前不加final),使用单线箭头,如下图中age变量;如果是不可变引用(对象类型变量前加final)使用双线箭头,如下图中id变量。

常见快照图

List:

Set:

 

 

Map:

 

自定义数据类型:

 

例题

请画出以下代码的Snapshot Diagram:

答:

第一次输出时的Snapshot Diagram:

第二次输出时的Snapshot Diagram:

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值