什么是封装
从面向对象编程的角度来说,封装是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。
从软件开发的角度来说,封装是指把复杂度隐藏于实体内部,对外提供简单、精练的访问接口。
从现实生活的角度来说,封装是指为了使物品的使用者和生产者分离而采用的一种信息隐藏技术。
总结:封装的本质是隐藏,封装的目的是简单。
封装的例子
封装的例子有很多。
汽车的组装,涉及到成千上万个零件,零件与零件之间的结构和接口必须是完全匹配的。
OSI参考模型和TCP/IP模型,下层和上层是相互隔离的,但它们之间却能相互协作,这是因为各层都进行了封装,在边界处的接口和输入输出是匹配的。
在软件工程师的日常工作中,也涉及到封装的事情,比如