抽象与封装

2025年3月26日 | 阅读 3 分钟

Java是一种面向对象的编程语言,它遵循OOPs概念。OOPs概念包括类、对象、多态、继承。OOPs还有两个其他特性,即抽象封装。它们看起来非常相似,但在概念和实现上完全不同。抽象与封装之间的主要区别在于,抽象隐藏了代码的复杂性,而封装则将内部工作原理隐藏起来,不让外界知道。在本节中,我们将讨论抽象和封装,以及Java中抽象与封装的区别

抽象

它是OOPs的一个特性。它用于向用户隐藏不必要的信息或数据,但显示对用户有用且必不可少的数据。它可以通过使用接口抽象类来实现。在接口中,只有方法会暴露给最终用户。抽象的最佳例子是电视遥控器。用户只与外部接口(即按键)进行交互。用户只知道按哪个键来实现什么功能。

让我们通过一个Java程序来理解抽象。

封装

它也是OOP的一个特性。它用于将数据绑定到单个单元,称为类。它提供了一种称为数据隐藏的机制。它是OOPs的一个重要特性。它阻止从类外部访问数据成员。从安全角度来看,这也是必需的。

让我们通过一个Java程序来理解抽象。

EncapsulationDemo.java

Account.java

抽象与封装的区别

抽象封装
抽象是OOPs的一个特性,它隐藏了不必要的细节,但显示了必要的信息。封装也是OOPs的一个特性。它将代码和数据隐藏到单个实体或单元中,以便数据可以免受外部世界的侵害。
它解决了设计层面的问题。封装解决了实现层面的问题。
它关注外部外观。它关注内部工作原理。
可以使用抽象类接口来实现。可以通过使用访问修饰符(private、public、protected)来实现。
它是获取信息的過程。它是包含信息的過程。
在抽象中,我们使用抽象类接口来隐藏代码的复杂性。我们使用gettersetter方法来隐藏数据。
对象是封装的,这有助于实现抽象。对象不需要抽象,这导致了封装。