一、为什么要有封装呢?
答案:java是一门面向对象的语言,其中对象需要什么,类那边就创建什么就好了。关键点在于给类的赋值这边,不能说对象想要对类可以无限制进行操作就可以。那样太没有安全感了。所以封装出现了。封装就是正确设计对象的属性和方法。比如说类中的属性年龄,万一对象那边对这个属性年龄赋值-18呢?那样是不是不合理不规范,所以封装(set(赋值输入)和get(赋值输出))两位保护神出现了。封装属性私密隐藏起来实现,只给出set和get让你调用就好。保护属性的数据不能被随便篡改。
封装一般类中的属性使用比较多,类中的方法使用比较少(属性孤零零的,那得封装隐藏保护一下吧)
二、封装的作用:
1.提高程序的安全性、保护数据
2.隐藏代码的实现细节
3.统一接口
4.提高系统的可维护性
三、封装实现步骤:
1.首先你要把自己(属性)私有化(private)
2.具体标准就由set进行赋值把关,然后由get进行输出就好了
代码例子
被调用的类:
1.加set和get之前
2. 添加私密性privata,生成set和get快捷键后
3.添加限制条件后(后续开发中一般直接生成set,get,不用手动对set里面进行自定义限制)
package three; public class Girl { //2.首,快捷键生成set和get,在我其他文章中有教快捷键生成方式 public int getAge() { //生成的get方法 return age; } public void setAge(int age) { //生成的set方法,并且修改set条件限制,修改成女朋友年龄在18到28岁之间 if (age>=18&&age<=28){ }else { System.out.println("你输入的年龄不合理");//如果超出范围就提示对方不合理 } this.age = age; } //2.尾 private int age;//1.先加上private私有化成员变量 }
对象调用:
package three; public class Girlfriend { public static void main(String[] args) { Girl girl = new Girl();//实例化Girl类 //set赋值 girl.setAge(30); //get打印输出 System.out.println(girl.getAge()); } }
运行结果:
你输入的年龄不合理
30
/额外注释:如果想要不输出这个30,直接在类那边的set判断条件后面加上return就好了
题外话:set和get就像安全接口,保护属性的私密性,一个吞一个吐