前言必读
一、为什么要有封装呢?
答案:java是一门面向对象的语言,其中对象需要什么,类那边就创建什么就好了。关键点在于给类的赋值这边,不能说对象想要对类可以无限制进行操作就可以。那样太没有安全感了。所以封装出现了。封装就是正确设计对象的属性和方法。比如说类中的属性年龄,万一对象那边对这个属性年龄赋值-18呢?那样是不是不合理不规范,所以封装(set(赋值输入)和get(赋值输出))两位保护神出现了。封装属性私密隐藏起来实现,只给出set和get让你调用就好。保护属性的数据不能被随便篡改。
封装一般类中的属性使用比较多,类中的方法使用比较少(属性孤零零的,那得封装隐藏保护一下吧)
小说情景化理解:(属性:对象你太不厚道了,想对我什么赋值蹂躏都可以。就像把我年龄18赋值成-18,绝对不可以!!!我要把自己私有化private,这样就可以保护自己了,可是……我这样对象就完全使用不了我,我存在的意义就是给对象用的啊,该怎么办呢?set和get出现了:别怕,set可以对属性你进行具体的条件限制,就不会出现这种-18的年龄问题了。get说set那边限制好了,我就放心把你交给对象使用了。每个属性都有自己的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就像安全接口,保护属性的私密性,一个吞一个吐
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/112722.html