java面向对象三大特征之一封装(属性的保护神)

前言必读

读者手册(必读)_云边的快乐猫的博客-CSDN博客

一、为什么要有封装呢?

答案: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进行输出就好了

生成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就像安全接口,保护属性的私密性,一个吞一个吐 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云边的快乐猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值