知识卡片
封装不是字段
内容
UML属性不必等同于字段,也可以对应计算值或访问接口。真正重要的是对象能稳定提供某项信息,而不是内部是否存储它;这正是封装的边界。
参考来源
- 位置:《UML精粹:标准对象建模语言简明指南》第3章《类图:基础》(源文件:_epub-src/EPUB/2.xhtml)
- 结论依据:原文围绕“客户不能辨别什么是字段,什么是计算出来的”给出定义、对比或使用限制,说明该概念的含义和适用边界,因此可推出本卡片结论。
- 原始内容:在这个例子里,没有价格的数据字段;相反,它是一个计算出来的值。但从OrderLine类的客户关心的角度看,它和一个字段是一样的。客户不能辨别什么是字段,什么是计算出来的。信息隐藏正是封装的本质。