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

1.什么是封装?

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

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

2. 封装做了两件事

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

3. 封装的好处

(1)隐藏实现细节

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

(2)数据安全

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

(3)提高可维护性

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

(4)简化使用

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

4.封装的实现步骤

5.一些细节

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

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

相关推荐
tERS ERTS2 小时前
头歌答案--爬虫实战
java·前端·爬虫
识君啊2 小时前
中小厂数据库事务高频面试题
java·数据库·mysql·隔离级别·数据库事务·acid
少许极端2 小时前
算法奇妙屋(四十八)-单调栈
java·算法·单调栈
学习使我健康2 小时前
Android 本地音乐播放(读取系统媒体库 + MediaPlayer)
java·android-studio
云烟成雨TD3 小时前
Spring AI Alibaba 1.x 系列【33】Human-in-the-Loop(人在回路)演示
java·人工智能·spring
難釋懷3 小时前
Redis服务器端优化-内存划分和内存配置
java·redis·spring
两年半的个人练习生^_^3 小时前
每日一学:设计模式之适配器模式
java·设计模式·适配器模式
程序员老邢3 小时前
【技术底稿 18】FTP 文件处理 + LibreOffice Word 转 PDF 在线预览 + 集群乱码终极排查全记录
java·经验分享·后端·pdf·word·springboot
磊 子3 小时前
类模板与派生1
java·开发语言·c++