首页  >  文章  >  Java  >  抽象与封装

抽象与封装

DDD
DDD原创
2024-10-08 12:08:02209浏览

Abstraction and Encapsulation

抽象与封装

抽象和封装之间的细微差别可以概括为一个关键点:

抽象是隐藏不必要的细节以仅显示基本功能(对象的作用)。它专注于复杂系统的设计和简化。

封装是关于隐藏内部实现并通过限制对某些组件的访问(对象的内部数据和方法如何工作)来保护数据。它专注于安全性和与数据的受控交互。

简而言之:

抽象:关注对象可以做什么。

封装:重点关注如何保护对象的内部状态。


这是一个现实生活中的例子来说明抽象和封装之间的细微差别:

ATM机(自动柜员机)

1。抽象(它的作用):

当您使用 ATM 时,您仅与基本功能交互,例如:

提款

查看余额

存钱

您不需要知道这些操作在内部是如何实现的,例如银行软件内部发生的复杂流程、与银行服务器的通信,或者交易是如何处理的。 ATM 抽象了所有这些复杂性,并为您提供了一个简单的界面(您可以用它做什么)。

2。封装(如何保护):

在 ATM 内,您的个人信息(PIN、帐户余额等)会被存储和保护。您只能通过受控方法访问此信息,例如:

输入正确的 PIN 码。

机器封装(隐藏)您的数据,确保其他人无法在不使用适当渠道(例如身份验证)的情况下直接访问或修改您的余额。这种封装可确保您的数据安全并且只能以受控方式访问。

以上是抽象与封装的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn