对于计算机新手来说,数据隐藏和数据封装可能意味着同一件事。但是,这两个概念之间存在主要差异。
数据封装和数据隐藏属于面向对象编程的范畴,可以在诸如C,C++等其他编程语言中使用。它们被认为是面向对象编程的两个主要概念。
数据封装和数据隐藏都涉及对象(分类为值,数据,结构或函数),类(数据和方法的集合),计算机代码和方法。
数据封装是组合和组装元素以创建新实体并将私有数据包装到类中的过程。封装涉及数据和方法的实现。具有内部方法的数据被保护在胶囊中,而使用这些方法来访问其中的数据。以这种方式,胶囊中所有数据和需求的组装和分组使对象独立地发挥作用是独立的。
封装还涉及向用户隐藏类的方式,以及如何通过使用方法解锁胶囊来逆转该过程。
在数据封装中,除非程序员指定或编程,否则封装及其内部的对象可以分类为私有或公共。
另一方面,数据隐藏是隐藏对象或函数的详细信息的过程。这也是一种有效的编程技术,可提高数据安全性并降低数据复杂性。
数据隐藏的一种表现是,它被用作在代码分解并从对象隐藏之后在计算机代码内部隐藏信息的方法。所有处于数据隐藏状态的对象都位于隔离的单元中,这是面向对象编程的主要概念。
系统中的其他对象,类和API会将内部数据分类为私有数据或不可访问数据。数据对于外部人员(对象,其他类或用户)而言都是不可见的。
数据封装是数据隐藏的主要机制之一。数据隐藏是通过嵌套数据或将其安排在胶囊中来进行的。
数据隐藏有很多用途,包括:
- 安全目的和数据保护,防止滥用和未授权访问;
- 利用变化的功能难以从外部移动;
- 隐藏可疑用户(尤其是试图操纵敏感数据或程序的计算机黑客)的未经授权访问或使用的数据;
- 隐藏数据的物理存储布局,并避免链接到不正确的数据。 (如果程序员确实链接到所述数据,则程序将显示错误以保护内容。)
数据隐藏通常在易失性和敏感数据上使用或执行。这些类型的数据对于高效,流畅地运行程序至关重要。如果以某种方式操纵这些类型的数据,则该程序的任何用户将无法正确使用该应用程序。程序员必须重写程序并修复错误,然后再使用。
总结
- 数据封装是一个过程,而数据隐藏既是一个过程又是一种技术。它们都共享面向对象编程的类别。
- 数据封装中的数据是公共的或私有的,而数据隐藏中的数据是私有的且不可访问。
- 数据封装是数据隐藏的机制之一。
- 数据封装的关注点在于整合,这与数据的隐藏目标有关,即降低数据的复杂性。另一方面,数据隐藏不仅包含较少的数据复杂性,还包含数据保护和安全性。
- 数据封装的重点是内部的数据,而数据隐藏则涉及访问和使用方面的限制。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:数据隐藏和数据封装
本文链接:https://www.vsdiffer.com/vs/data-hiding-vs-data-encapsulation.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。