面向對象—封裝

 問題: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);
    }
}

總結:封裝的思想-->對客戶隱藏其實現細節。採用封裝的思想保證了類內部數據結構的完整性,應用該類的用戶不能輕易地直接操做此數據結構,只能執行類容許公開的數據。這樣避免了外部數據對內部數據的影響,提升了程序的可維護性。數據結構

相關文章
相關標籤/搜索