封装
封装
该露的露,该藏的藏
-
我们程序设计要追求高内聚,低耦合
高内聚:类的内部操作细节自己完成,不允许外部干涉
低耦合:仅暴露少量的方法给外部使用
-
通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问(赋值和获取),这称为信息隐藏
-
封装大部分是对于属性来的,对方法比较少,学了面向对象后,属性一般都用private修饰,不咋用public了
-
有返回值参数的方法被调用会被当成一个值,可以直接用输出语句输出,也可以让它返回一个值然后在输出那个值
,一般直接输出语句输出,例如:System.out.println(demo05.getname());
-
那么属性既然被private修饰了,那怎么使用该属性呐?
要用get/set方法,一个赋值,一个获取
快捷键:Alt+insert
输出语句的快捷键:要输出的东西 . sout
-
我们可以通过set方法增强程序的安全性,例如:
public class Demo05 { //属性一般都用private修饰 private String name; private int age; //set/get方法来赋值和获取 public int getAge() { return age; } public void setAge(int age) { //判断输入的年龄是否合理 if(age>120 || age<0){ System.out.println("您输入的年龄不在正常范围内!"); }else{ this.age = age; } } public static void main(String[] args) { Demo05 demo05 = new Demo05(); demo05.setAge(999); System.out.println(demo05.getAge()); } }
-
封装的意义:
- 提高程序的安全性
- 隐藏代码的实现细节
- 增加了系统的可维护
-
记住这句就够了:属性私有,get/set
树越是向往高处的光亮,它的根就越要向下,向泥土向黑暗的深处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?