抽象与封装的区别
抽象是一个隐藏系统实现细节的过程,只有功能细节对用户可用。另一方面,封装是一种将数据和作用于数据的代码包装到单个单元中的方法。
阅读本文以了解更多关于抽象和封装的信息,以及它们彼此之间的区别。
什么是抽象?
抽象定义为隐藏系统实现细节的过程。因此,通过使用抽象,我们只向用户提供系统的功能。因此,用户将了解系统做什么,但不了解系统如何做。
例如,当我们考虑在谷歌上搜索的情况时,诸如一搜索查询就会发生什么,我们的Web服务器使用的协议等复杂细节都被隐藏了。因此,要在谷歌上搜索,我们只需要输入查询,然后点击搜索按钮。
什么是封装?
封装是面向对象编程(OOP)的基本概念之一。封装定义为一种将数据包装到单个单元中的方法。它用于将数据和作用于数据的代码一起包装为单个单元。
在封装中,类的变量对其他类隐藏,只能由当前类的成员函数访问。因此,封装也称为数据隐藏。封装是使用访问修饰符(如public、private和protected)实现的。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
抽象与封装的区别
下表重点介绍了抽象和封装之间所有重要的区别:
序号 |
抽象 |
封装 |
---|---|---|
1. |
它是获取信息的过程。 |
它是一种帮助将数据包装到单个模块中的方法。 |
2. |
此技术中的问题是在接口级别解决的。 |
封装中的问题是在实现级别解决的。 |
3. |
它有助于隐藏不需要的细节/信息。 |
它有助于使用单个实体或使用具有保护信息功能的方法的单元来隐藏数据。 |
4. |
它可以使用抽象类和接口实现。 |
它可以使用访问修饰符(如public、private和protected)实现。 |
5. |
实现的复杂性是使用接口和抽象类隐藏的。 |
数据使用getter和setter等方法隐藏。 |
6. |
抽象可以使用封装在单个模块中的对象执行。 |
封装中的对象不需要抽象。 |
结论
两者之间最显著的区别在于,数据抽象是一种帮助隐藏用户不需要的数据的方法,而数据封装是一种使用单个实体隐藏数据的方法。