封装
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
要访问该类的代码和数据,必须通过严格的接口控制。
封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
封装的优点
-
1. 良好的封装能够减少耦合。
-
2. 类内部的结构可以自由修改。
-
3. 可以对成员变量进行更精确的控制。
-
4. 隐藏信息,实现细节。
private关键字:是一个权限修饰符
可以修饰成员(成员变量和成员方法)
被private修饰的成员只能在本类中才能访问
针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
提供“setXxx(参数)” 方法,用于给成员变量赋值,方法用public修饰
提供"getXxx()"方法,用于获取成员变量的值,方法用public修饰
1 package test3; 2 3 /** 4 * ClassName: GirlFriend 5 * Package: test3 6 * Description: 7 * 8 * @Author: 20213923ysf 9 * @Create: 2023/7/11 - 12:57 10 */ 11 public class GirlFriend1 { 12 private String name; 13 private int age; 14 private String gender; 15 16 public void setName(String n) { 17 name = n; 18 } 19 20 public String getName() { 21 return name; 22 } 23 24 public void setAge(int a) { 25 if (a >= 12 && a <= 28) { 26 age = a; 27 } else { 28 System.out.println("年龄输入有误"); 29 } 30 } 31 32 public int getAge() { 33 return age; 34 } 35 36 public void setGender(String g) { 37 gender = g; 38 } 39 40 public String getGender() { 41 return gender; 42 } 43 44 public void eat() { 45 System.out.println("女朋友在吃饭"); 46 } 47 48 public void sleep() { 49 System.out.println("女朋友在睡觉"); 50 } 51 }
1 package test3; 2 3 import test2.GirlFriend; 4 5 /** 6 * ClassName: GirlFriendTest 7 * Package: test3 8 * Description: 9 * 10 * @Author: 20213923ysf 11 * @Create: 2023/7/11 - 13:04 12 */ 13 public class GirlFriend1Test { 14 public static void main(String[] args) { 15 GirlFriend1 gf1 = new GirlFriend1(); 16 gf1.setName("青雀"); 17 gf1.setAge(16); 18 gf1.setGender("女"); 19 System.out.println(gf1.getName()); 20 System.out.println(gf1.getAge()); 21 System.out.println(gf1.getGender()); 22 } 23 }
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)