面向物件之類的三大特性之封裝
封裝:就是將每個物件的資料(屬性)和操作(行為)包裝在一個類中。一般屬性定義為私有,方法定義為共有。
屬性,只有內部的方法可以訪問私有的屬性,方法設定 為共有,外部可以訪問。
示例:
public class Student {
private String name;
private char sex;
private int age;
public void study() {
System.out.println("張三學習");
}
測試函式呼叫:
所以,一般情況下,屬性設定為私有,方法設定為共有。
那麼,設定為私有的話,如何設定屬性的值呢?
下面我們就這樣來設定
public class Student {
private String name;
private char sex;
private int age;
Student(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if(age >0 && age <120) {
this.age = age;
}else {
System.out.println("年齡只能在0-120之間");
}
}
public void study() {
System.out.println("張三學習");
}
}
單元測試:
執行結果:
解析:從我們的程式碼來看,我們通過在物件裡面進行設定了get(),set()方法,並且通過自己的一系列邏輯進行對年齡的設定,這樣在函式呼叫的時候就特別方法,只用呼叫自己封裝好的方法就可以設定值,傳引數。類的封裝就是把類內部的某些屬性封閉起來,防止外部方法呼叫,屬性設定傳參等,通過設定函式來進行傳參,簡化,增加了程式碼的複用性,即就是封裝特性。