下载此文档

面向对象分析和设计讲座设计与代码映射.ppt


文档分类:IT计算机 | 页数:约55页 举报非法文档有奖
1/55
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/55 下载此文档
文档列表 文档介绍
面向对象分析和设计讲座设计与代码映射
第一页,共55页
内容
可见性
设计类图
代码映射
测试驱动开发与代码重构
*
*
第二页,共55页
1. 对可见性进行设计
第三页,共55页

确定四种可见性
对设置可见性进行设计
*
*
第四页,共55页

可见性Visibility 是对象看到或引用其它对象的能力
为了使发送者对象能够向接收者对象发送消息,发送者必须具有接收者的可见性,即发送者必须拥有对接收者对象的某种引用或指针
*
*
第五页,共55页
: Register
enterItem
(itemID, quantity)
: ProductCatalog
spec := getSpecification( itemID )
{
public void enterItem( itemID, qty )
{
...
spec = (itemID)
...
}
}
class Register
{
...
private ProductCatalog catalog;
...
}
*
*
第六页,共55页

实现对象A到对象B的可见性通常有四种方式:
属性可见性Attribute Visibility: B是A的属性
参数可见性Parameter visibility: B是A方法中的参数
局部可见性Local Visibility: B是A中方法的局部对象(不是参数)
全局可见性Global Visibility: B具有某种方式的全局可见性
为了使对象A能够向对象B发送消息,对于A而言,B必须是可见的
*
*
第七页,共55页
(1)属性可见性
这是一种相对持久地可见性
: Register
enterItem
(itemID, quantity)
: ProductCatalog
spec := getSpecification( itemID )
{
public void enterItem(itemID, qty)
{
...
spec = (itemID)
...
}
}
class Register
{
...
private ProductCatalog catalog;
...
}
*
*
第八页,共55页
(2)参数可见性
这是一种相对暂时的可见性
2: makeLineItem(spec, qty)
enterItem(id, qty)
1: spec := getSpecification(id)
: create(spec, qty)
:Register
:Sale
:Product
Catalog
sl : SalesLineItem
{
makeLineItem(ProductSpecification spec, int qty)
{
...
sl = new SalesLineItem(spec, qty);
...
}
}
*
*
第九页,共55页
将参数可见性转化为属性可见性十分常见
2: makeLineItem(spec, qty)
enterItem(id, qty)
2: spec := getSpecification(id)
: create(spec, qty)
:Register
:Sale
:Product
Catalog
sl : SalesLineItem
// initializing method (., a Java constructor)
{
SalesLineItem(ProductSpecification spec, int qty)
{
...
productSpec = spec; // parameter to attribute visibility
...
}
}
*
*
第十页,共55页

面向对象分析和设计讲座设计与代码映射 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数55
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库新人
  • 文件大小5.77 MB
  • 时间2021-10-25