Java中的封装机制

Java对象的三要素:
封装、继承、多态

封装

什么是封装?

用笔记本电脑举例:把电脑用外壳包装起来,我们看不到电脑内部的零件,且不能对其进行随意更改,只能通过键盘对电脑进行操作
好处:安全性好。

在这里插入图片描述

封装的步骤:
为了保证对象的age属性的安全,我们需要使用封装机制。实现封装的步骤是什么?

  •  第一步:属性私有化。(什么是私有化?使用 private 进行修饰。)
    
  •  属性私有化的作用是:==禁止外部程序对该属性进行随意的访问。==
    
  •  ==所有被private修饰的,都是私有的,私有的只能在本类中访问。==
    
  •  第二步:对外提供setter和getter方法。
    
  •  为了保证外部的程序仍然可以访问age属性,因此要对外提供公开的访问入口。
    
  •  访问一般包括两种:
    
  •      读:读取属性的值
    
  •      改:修改属性的值
    
  •  那么应该对外提供两个方法,一个负责读,一个负责修改。
    
  •  读方法的格式:getter
    
  •      public int getAge(){}
    
  •  改方法的格式:setter
    
  •      public void setAge(int age){}
    
  •       **==第三步:对getter和setter方法设置条件==**,即通过if语句,设置条件,只有符合要求的才可以对属性进行读或者修改。
    

学习封装以后,我们再写程序时都需要遵守属性私有化的约束,这是为了程序的安全性。

public class User {
    private int age;

    // 读取age属性的值
    // getter方法是绝对安全的。因为这个方法是读取属性的值,不会涉及修改操作。
    public int getAge(){
        //return this.age;
        return age;
    }

    // 修改age属性的值
    // setter方法当中就需要编写拦截过滤代码,来保证属性的安全。
    /*public void setAge(int num){
        //this.age = num;
        if(num < 0 || num > 100) {
            System.out.println("对不起,您的年龄值不合法!");
            return;
        }
        age = num;
    }*/

    // java有就近原则。这种写法是为了提高程序的可读性!!!
    public void setAge(int age){
        if(age < 0 || age > 100) {
            System.out.println("对不起,您的年龄值不合法!");
            return;
        }
        // this. 大部分情况下可以省略。
        // this. 什么时候不能省略?用来区分局部变量和实例变量的时候。
        this.age = age;
    }
}

从程序可知:年龄的设置范围为[0,120]

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Alice要11点睡

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

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

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

打赏作者

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

抵扣说明:

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

余额充值