詳解Java基礎之封裝

Java基礎知識(封裝)

封裝

那封裝是什麼呢?

在面向對象程式設計方法中,封裝(英語:Encapsulation)是指一種將抽象性函式接口的實現細節部分包裝、隱藏起來的方法。

封裝的目的

  • 直接通過操控類對象來達到目的,不需要對具體實現十分瞭解,使類屬性和方法的具體實現對外不可見。不但方便還起到瞭保護作用。
  • 封裝最主要的功能在於我們能修改自己的實現代碼,而不用修改那些調用我們代碼的程序片段。
  • 適當的封裝可以讓程式碼更容易理解與維護,也加強瞭程式碼的安全性。

 封裝的好處

  • 良好的封裝能夠減少耦合。
  • 類內部的結構可以自由修改。
  • 可以對成員變量進行更精確的控制。
  • 隱藏信息,實現細節。

封裝的步驟

1.修改屬性的可見性來限制對屬性的訪問(一般限制為private),

例如:

public class Person {
    private String name ; // 姓名
    private String gender ; // 性別
    private int age; // 年齡
}

這段代碼中,將 name 、sex和 age 屬性設置為私有的,隻能本類才能訪問,其他類都訪問不瞭,如此就對信息進行瞭隱藏。

2.對每個值屬性提供對外的公共方法訪問,也就是創建一對賦取值方法,用於對私有屬性的訪問

例如:

public class Person {
    private String name ; // 姓名
    private String gender ; // 性別
    private int age; // 年齡
    public void setName(String name) {
      	this.name = name;
    }
    public String getName() {
      	return name;
    }
	public void setGender(String gender) {
        this.gender = gender;
    }
    public String gender(){
        return gender;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
      	return age;
    }
}

采用 this 關鍵字調用本類中的屬性,也就是類中的成員變量。主要為瞭解決實例變量(private String name)和局部變量(setName(String name)中的name變量)之間發生的同名的沖突。

封裝的例子

創建一個用戶類User:

代碼如下:

package com.ygt.pojo;
public class User {
    private String username; // 用戶名
    private String password; // 密碼
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

編寫測試User的demo:EncapsulationDemo

代碼如下:

package com.ygt;
import com.ygt.pojo.User;
public class EncapsulationDemo {
    public static void main(String[] args) {
        User user = new User();
        user.setUsername("最愛吃魚罐頭");
        user.setPassword("520");
        System.out.println("username: " + user.getUsername() + "-----------"
                            + "password: " + user.getPassword());
    }
}

執行結果如下:

username:最愛吃魚罐頭———–password520

總結

相信各位看官都對封裝有深入的瞭解吧,那我們繼續期待更多Java基礎相關的內容吧!歡迎期待下一章的到來!

封裝實際上是將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的訪問和操作。就是把我們想提供給外界的一些方法給暴露出來,以便外界能調用到我們。

本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: