封装
更多
在编程中,“封装”是一种面向对象的基本原则,指将数据(属性)和操作数据的方法(函数)捆绑成一个独立的单元(通常是一个类),并对外隐藏内部实现细节。它的核心目的是:
- 隐藏复杂性:使用者无需了解内部实现逻辑,只需通过公开的接口调用功能。
- 提高安全性:通过限制对数据的直接访问(如设为私有属性),防止外部代码意外修改关键数据。
- 增强可维护性:修改内部代码时,只要对外接口不变,就不会影响其他代码。
封装示例(Python)
class BankAccount:
def __init__(self, account_holder: str, initial_balance: float = 0.0):
# 私有属性(外部无法直接访问)
self.__holder = account_holder
self.__balance = initial_balance
# 公开方法:存款(隐藏余额修改细节)
def deposit(self, amount: float) -> None:
if amount > 0:
self.__balance += amount
print(f"存款成功!当前余额: {self.__balance:.2f}元")
else:
print("存款金额必须大于0")
# 公开方法:取款(隐藏余额校验逻辑)
def withdraw(self, amount: float) -> None:
if 0 < amount <= self.__balance:
self.__balance -= amount
print(f"取款成功!当前余额: {self.__balance:.2f}元")
else:
print("取款失败:余额不足或金额无效")
# 公开方法:获取余额(只读访问)
def get_balance(self) -> float:
return self.__balance
# 公开方法:获取账户持有人(只读)
def get_holder(self) -> str:
return self.__holder
# 使用封装后的类
account = BankAccount("张三", 1000.0)
account.deposit(500) # 存款成功!当前余额: 1500.00元
account.withdraw(200) # 取款成功!当前余额: 1300.00元
account.withdraw(2000) # 取款失败:余额不足或金额无效
print(f"{account.get_holder()}的账户余额: {account.get_balance()}元") # 张三的账户余额: 1300.0元
# 无法直接修改私有属性(安全保护)
account.__balance = 0 # 实际不会修改真实余额!
print(account.get_balance()) # 仍输出1300.0
封装的关键实现
- 私有化属性
使用双下划线前缀(如__balance)将属性设为私有,阻止外部直接访问。 - 提供公开方法
通过类的方法(如deposit()、get_balance())控制对属性的操作和访问。 - 添加校验逻辑
在方法内部实现规则(如“取款金额不能超过余额”),确保数据安全。
? 其他语言中的封装:
- Java/C++:用
private关键字声明私有成员。- JavaScript:通过闭包或
#前缀实现私有属性。- C#:使用
{ get; private set; }控制访问权限。
PCB设计与封装指导白皮书合集
资料简介: 本书内容为规定公司所有设计PCB板器件封装的命名与设计规范度,保证公司设计的PCB板器件使用的统一性,便于对所有设计的PCB可靠性进行监控,也便于对PCB审核与归档。本文档规定元器件封装
资料下载
elecfans小能手
2022-09-23 16:00:42
常见的电子元器件和芯片封装类型
芯片的世界封装类型太多了,这里总结了70多种常见的芯片封装。希望能让你对封装有一个大概的了解。
资料下载
h1654156022.3134
2021-04-22 09:14:41
7天热门专题
换一换
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
相关标签