如何理解信息隐藏和局部化?用自己的话或者例子表达其含义
1、信息隐藏:指一个模块内包含的信息对于不需要这些信息的模块来说是不能访问的,主要是指模块的实现细节。
例子:假设要设计一个图书馆管理系统,该系统需要管理书籍的借阅和归还。在这个系统中,每本书可以被视为一个对象,具有属性如书名、作者、ISBN号和借阅状态。我们不希望图书管理员或用户直接访问和修改这些属性,而是通过系统提供的方法来进行操作。
2、局部化:指把一些关系密切的软件元素物理地放得彼此接近,有助于实现信息隐藏。例如在模块中使用局部数据元素
例子:考虑一个在线商店的购物车系统。每个用户的购物车应该是独立的,不应该与其他用户的购物车共享状态。因此,我们可以为每个用户创建一个购物车对象,这个对象包含用户选择的商品列表和总价等信息。这样,每个购物车的状态都是局部化的,只与创建它的用户相关。