面向对象—封装

 问题:age在直接被其余程序建立对象后访问,形成安全隐患。java

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);
    }
}

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

相关文章
相关标签/搜索