抽象与封装
抽象与封装
抽象和封装之间的细微差别可以概括为一个关键点:
抽象是隐藏不必要的细节以仅显示基本功能(对象的作用)。它专注于复杂系统的设计和简化。
封装是关于隐藏内部实现并通过限制对某些组件的访问(对象的内部数据和方法如何工作)来保护数据。它专注于安全性和与数据的受控交互。
简而言之:
抽象:关注对象可以做什么。
封装:重点关注如何保护对象的内部状态。
这是一个现实生活中的例子来说明抽象和封装之间的细微差别:
ATM机(自动柜员机)
1。抽象(它的作用):
当您使用 ATM 时,您仅与基本功能交互,例如:
提款
查看余额
存钱
您不需要知道这些操作在内部是如何实现的,例如银行软件内部发生的复杂流程、与银行服务器的通信,或者交易是如何处理的。 ATM 抽象了所有这些复杂性,并为您提供了一个简单的界面(您可以用它做什么)。
2。封装(如何保护):
在 ATM 内,您的个人信息(PIN、帐户余额等)会被存储和保护。您只能通过受控方法访问此信息,例如:
输入正确的 PIN 码。
机器封装(隐藏)您的数据,确保其他人无法在不使用适当渠道(例如身份验证)的情况下直接访问或修改您的余额。这种封装可确保您的数据安全并且只能以受控方式访问。
-
JavaScript如何获取宏控件数据?
javascript 获取宏控件数据的方法有两种:get("value"):获取输入框、文本区域和选择列表的 value...
JavaScript
5个月前 (10-15) 223 -
JavaScript怎样读取宏控件数据?
是的,可通过以下步骤读取宏控件数据:获取宏控件元素检查宏控件类型(例如,activex 或 java 插件)获取宏控件对...
JavaScript
5个月前 (10-15) 210 -
JavaScript获取宏控件数据的技巧
用 javascript 获取宏控件数据包含以下步骤:获取宏控件对象。获取宏控件属性,如 classid。执行宏控件方法...
JavaScript
5个月前 (10-15) 197 -
探究JavaScript与Java的联系和区别
javascript 和 java 虽然名称相似,但它们是两种截然不同的语言,主要区别在于:1. 语法不同;2. 编译方...
JavaScript
5个月前 (10-15) 200 -
javascript:void(o)如何解决?
解决 javascript:void(o) 错误的步骤:检查链接是否指向预期脚本。使用文本编辑器或 javascript...
JavaScript
5个月前 (10-15) 1100
- Python实现字典的key和values的交换 3周前 (02-11)
- 使用Python脚本来获取Cisco设备信息的示例 3周前 (02-11)
- Python的Django中django-userena组件的简单使用教程 3周前 (02-11)
- 零基础写python爬虫之神器正则表达式 3周前 (02-11)
- 零基础写python爬虫之抓取百度贴吧代码分享 3周前 (02-11)
- 零基础写python爬虫之使用urllib2组件抓取网页内容 3周前 (02-11)
- 在Docker上部署Python的Flask框架的教程 3周前 (02-11)
- 简单说明Python中的装饰器的用法 3周前 (02-11)
- 利用Python实现简单的相似图片搜索的教程 3周前 (02-11)
- 在Python中使用模块的教程 3周前 (02-11)