封装的概念与使用

一、封装的概念

生活案例:

生活中的封装比如ATM收款机,会使用一个机器来保证钱的正常流动,给你一个特定的方法来存钱取钱,不会说让你随意的取钱存钱,

在java中,封装也是这个概念,封装就是把过程和数据包裹起来,对数据的访问只能通过已经定义的接口,面向对象计算始于这个基本概念,即现实世界已经被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象

java中封装的理解:

我们在程序设计的时候就追求“高内聚、低耦合”

高内聚:类的内部数据操作细节自己完成,不允许外部干涉;

低耦合:仅对外部暴露少量的方法用于使用。

隐藏对象内部的复杂性、只对外公开简单的接口。便于外界调用从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来,这就是封装的设计思想。在Java中通过权限修饰符关键字private、protected和public实现封装。

二、封装的使用

作用:提高代码的安全性

通过一个属性感受封装:

public class A{
    int age;
}

public static void main(String[] args){

    A a = new A();
    a.age = 500;
}

在这里设置一个A类,有一个年龄属性,但是在主函数里面给年龄设置值的时候,可以胡乱的设置一个值,几百几千的违背常理的设置都不会报错,这个时候就可以使用封装了

public class A{
    private int age;

    
    //提供一个返回年龄的方法
    public int getAge(){
        return age;
    }

    //提供一个处理年龄误差的方法
    public void setAge(int age){
        if(age<80){
            age=18;
        }else{
            this.age = age;
        }
    }
}


public static void main(String[] args){

    A a = new A;
    a.getAge(81);
    system.uot.println(a.setAge);
    

上面的代码,对于age属性来说,我加了private。这样外界对他的访问就受到了限制,现在我还想加上其他的限制条件,但是在属性本身上没有办法再加了,所以我们通过定义方法来进行条件的添加。

以属性为案例:

进行封装:

①、将属性私有化,被private修饰,加入权限修饰符

②、提供public修饰的方法让别人来访问使用

③、即使外界可以通过方法来访问属性了,但是也不能随意访问,因为可以在方法中加入限制条件。

④、设置getter、setter方法,给别人提供访问的路径,idea快捷键:alt+insert键快速生成

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值