面向物件之封裝(Java)
面向物件是Java學習中最基礎,也是最重要的一部分,其中它的三大特征包括:
- 封裝
- 繼承
- 多型
今天讓我們一起來學習面向物件的三個特征之一 封裝 吧!
何為封裝?
將類的成員屬性的訪問修飾符規定為私有(private),這樣該屬性在其它類就不能呼叫,更不可能被修改,
為什么要使用封裝?
定義一個類people,有姓名和財產等屬性,默認值是:張三和12000,有show方法,輸出姓名和財產,定義一個測驗類,修改張三的money為-10000;
public class People{
String name = "張三";
int money = 12000;
public void show(){
System.out.println("姓名為:" + name);
System.out.println("財產為:" + money + "元");
}
}
public class TestPeople{
public static void main(String[] args) {
People p = new People();
p.money = -10000; //修改了張三的金額為-10000
p.show(); //呼叫show()方法輸出
}
}
此案例可以看出類和物件的屬性毫無隱蔽性可言,可以被隨意修改,這樣設計出的程式會有很大的安全性問題,
使用封裝的好處
- 便于使用者正確使用系統,防止錯誤修改屬性,
- 有助于系統之間的松耦合,提高系統獨立性,
- 提高軟體的可重用性,
- 降低了構建大型系統的風險,
封裝的實作
- 屬性訪問修飾符定義為私有:private
- 對外提供get和set方法,
public class People{
private String name = "張三";
private int money = 12000;
public void show(){
System.out.println("姓名為:" + this.getName());
System.out.println("財產為:" + this.getMoney()+ "元");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
public class TestPeople{
public static void main(String[] args) {
People p = new People();
p.setName(200000);
p.show();
}
}
輸出結果

對屬性的封裝,在IDEA中有快捷鍵可以直接生成,鍵盤按住Alt+Insert,選擇Getter and Setter即可自動生成get和set方法,前提條件是必須將屬性的訪問修飾符設定為私有private,這樣才可以對其進行封裝操作,在測驗類中,通過setMoney()方法對屬性值進行設定,通過getMoney()方法對傳入的引數值進行輸出,這就所謂的封裝,這樣也大大的提高了系統的安全性,

不介意一鍵三連!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/237633.html
標籤:java
