封装用在哪些场景?

大家好,我是教授.F 

欢迎大家关注我的微信公众号:《教头编程象行记》

封装的作用是将数据和方法封装在一个类中,并对外部隐藏对象的内部细节。这样做可以保护数据不受外部直接访问和修改,只能通过类提供的接口进行访问,提高了代码的安全性和可维护性。

一个简单的例子:一个账号的密码是不能直接被别人看到的,所以对于密码这个属性就要封装。

此外,还可以将用户输入的密码进行判断,我们可以要求有密码要包括什么、不要包括什么和要密码长度要求……

上代码演示:

public class Test {
    public static void main(String[] args) {
        package_ package_ = new package_("007", "1008611");
        System.out.println(package_.id);
        //调用时,进行身份验证
        System.out.println(package_.showInfo());
    }
}



import java.util.Scanner;

public class package_ {
    public String id;
    private String password;//私有属性

    public package_(String id, String password) {
        this.id = id;
        setPassword(password);//在setPassword方法中,判断密码输入是否符合要求
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        if (password.length() < 6){
            System.out.println("密码太短,请重新输入");
            return ;
        }
        this.password = password;
    }

    public String showInfo(){
        System.out.println("请输入验证码,验证身份");
        Scanner myScanner = new Scanner(System.in);
        String check = myScanner.nextLine();
        if(check.equals("111")){
            return getId() + "\t" + getPassword();

        }
        return "验证错误";
    }
}

上面的例子可以看到,id信息是可以直接调用输出的,不用用到方法,但passwo就不行了。其实也可以破解,如果我们使用构造器指定属性,就会直接绕过防护机制。(只要使用构造器就可以破解)所以在构造器中,我们常常加上一个验证码,进行验证身份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值