28面向对象(中级)-封装

1.什么是封装?

把属性私有化,对外提供公共的访问方法,隐藏内部实现,只暴露必要接口。

再通俗一点:把东西装起来,不让别人随便乱改,只留一个安全的口子让别人用。

2. 封装做了两件事

  1. 隐藏 :用 private 把成员变量私有化,外部不能直接访问、乱改。
  2. 暴露 :提供 publicgetXxx() / setXxx() 方法,让外部可控地读写。

3. 封装的好处

(1)隐藏实现细节

内部怎么实现的,外部不用知道,也不能乱改。

(2)数据安全

防止外部随意赋值,避免非法数据。

(3)提高可维护性

以后内部逻辑改了,只要对外方法不变,外部代码不用动。

(4)简化使用

外部只需要调用方法,不用关心内部复杂逻辑。

4.封装的实现步骤

5.一些细节

(1)构造器与set方法结合

如果在构造器中也需要对属性进行保护,可以在构造器中调用set,get方法。

相关推荐
古法安卓2 分钟前
Android-SELinux 策略调试实战:从 AVC 日志到策略修复
android·java·android studio
todoitbo4 分钟前
飞算JavaAI的多租户权限隔离实测
java·springboot·ai编程·java开发·飞算javaai·java代码生成
星空5 分钟前
Springboot复习
java·spring boot·spring
Dicky-_-zhang15 分钟前
大模型部署架构:从推理引擎到弹性扩缩容的工程实践
java·jvm
vHelios39 分钟前
【电商项目】商品搜索开发复盘(1):根据需求拆解搜索接口的设计逻辑
java·微服务·es
极创信息1 小时前
国产化信创适配认证高频术语:信创适配、软件自主可控、国产化率、代码溯源率、代码自主率、代码开源率是什么?
java·python·struts·eclipse·开源·php·hibernate
Data_Journal1 小时前
什么是 CAPTCHA,它是如何工作的?
java·大数据·服务器·前端·数据库
mqiqe1 小时前
响应式流中的错误处理:Project Reactor 异常治理全体系
java·架构
我命由我123451 小时前
Android 开发问题:TopAppBar 和 topAppBarColors API is experimental...
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
AC赳赳老秦1 小时前
语义采集进阶实战:利用 OpenClaw AI 语义识别自动提取网页核心信息,无需手动编写选择器
java·运维·服务器·python·信息可视化·deepseek·openclaw