面向对象—封装

 问题:age在直接被其他程序创建对象后访问,造成安全隐患。

class Person{
    int age;               //定义成员变量
    void speak(){          //定义成员方法
        System.out.println("age="+age);   
    }
}

class PersonDemo{
    public static void main(String[] args){
        Person p=new Person();              //创建Person类的一个实例化对象
        p.age=19;                           //将类成员变量赋值为19
        p.speak();                          //使用对象调用类成员
    }
}

解决:封装,让age不被访问

class Person{
    private int age;						//为age设置访问权限
    public void show(int a){
    	age = a;
    	if(a>1&&a<130){                     
    		speak();
    	}else{
    		System.out.println("数据不存在");
    	}
    }
    void speak(){
        System.out.println("age="+age);   
    }
}

class PersonDemo{
    public static void main(String[] args){
        Person p=new Person();
        p.show(19);
    }
}	   

总结:封装的思想-->对客户隐藏其实现细节。采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易地直接操作此数据结构,只能执行类允许公开的数据。这样避免了外部数据对内部数据的影响,提高了程序的可维护性。

转载于:https://my.oschina.net/u/3842696/blog/1800014

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值