CodeGym/Java Blog/Toto sisi/Java 中的訪問器和修改器
John Squirrels
等級 41
San Francisco

Java 中的訪問器和修改器

在 Toto sisi 群組發布
個成員
在深入探討這個概念之前,您需要了解Java 中的和封裝。

Java封裝

顧名思義,封裝是將數據和方法封裝為一個單元的過程。在面向對象編程中,的數據成員被設為私有以限制對它們的直接訪問。因此,如果沒有正確定義的方式,則無法檢索或修改封裝的數據成員。為此,我們在 Java 中定義了 accessor 和 mutator 方法。讓我們詳細看看這些方法。

Java 中的訪問器和修改器是什麼?

配件

訪問器方法的名稱由單詞“ access ”驅動,它允許用戶訪問類中的私有信息。如果您聽說過“ get ”方法或“ getters ”,它與訪問器是一回事。getter 檢索私有變量和常量以在類的範圍之外訪問。

句法

我們對 Java 訪問器使用關鍵字“ get ”。要訪問變量“ name ”,我們可以使用以下 getter getName()。對於訪問器方法的示例,請查看以下內容。
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
請注意,每個 getter 在方法簽名中的變量名前都有關鍵字“ get ”,返回類型與要返回的變量的類型相同。由於變量“ name ”是“ String ”類型,因此 getter/accessor 方法也返回一個“ String ”。

突變體

Java 中的 mutator 方法由單詞“mutate”驅動,字面意思是修改。修改器允許用戶設置/修改類對象的私有變量的值。在面向對象的編程上下文中,“ set ”方法或“ setter ”也稱為更改器。Setter 便於封裝,因為不能直接修改私有數據成員。因此 setter 方法/修改器用於更新類範圍之外的變量值。

句法

對於修改器,我們使用“ set ”關鍵字。每個設置器都由關鍵字“set”定義,後跟需要改變的變量的名稱。在這裡,我們使用 setter setName(),它接受一個 String 類型的變量作為參數。
public class Student {

	private String name;

	public void setName(String name) {
		this.name = name;
	}
}

為什麼我們需要訪問器和修改器?

我們需要 getter 和 setter 或訪問器和修改器來保護類中的敏感信息。使用這些標準方法可以防止信息被非法使用。此外,如果增變器中的數據集滿足程序的所有要求,也可以對其進行驗證。

訪問器和修改器示例

通過使用下面的學生類,讓我們看一下訪問器和修改器方法的示例。

例子

import java.util.Arrays;

public class Student {

	private String name;
	private Integer ID;
	private String DOB;
	private double GPA;
	private String[] courses;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getID() {
		return ID;
	}

	public void setID(Integer iD) {
		this.ID = iD;
	}

	public String getDOB() {
		return DOB;
	}

	public void setDOB(String dOB) {
		this.DOB = dOB;
	}

	public double getGPA() {
		return GPA;
	}

	public void setGPA(double gPA) {
		this.GPA = gPA;
	}

	public String[] getCourses() {
		return courses;
	}

	public void setCourses(String[] courses) {
		this.courses = courses;
	}

	public static void main(String[] args) {

		Student student1 = new Student();

		System.out.println("Student Bio [ Before using Accessors & Mutators ]");

		// calling accessor methods
		System.out.print("Name: " + student1.getName());
		System.out.print("\tID: " + student1.getID());
		System.out.print("\tGPA: " + student1.getGPA());
		System.out.print("\tDOB: " + student1.getDOB());
		System.out.println("\tCourses: " +  Arrays.toString(student1.getCourses()));

		// calling mutator methods
		student1.setName("Alex Coy");
		student1.setID(3115);
		student1.setGPA(2.79);
		student1.setDOB("08/08/1998");
		String[] courses = { "Object Oriented Programming", "Cryptography", "Photography", "Network Security" };
		student1.setCourses(courses);

		System.out.println("\nStudent Bio [ After using Mutators & Accessors ]");

		// calling accessor methods
		System.out.print("Name: " + student1.getName());
		System.out.print("\tID: " + student1.getID());
		System.out.print("\tGPA: " + student1.getGPA());
		System.out.print("\tDOB: " + student1.getDOB());
		System.out.println("\tCourses: " + Arrays.toString(student1.getCourses()));
	}
}

輸出

學生簡介 [使用訪問器和訪問器之前] 姓名:null ID:null GPA:0.0 DOB:null 課程:null 學生簡介 [使用訪問器和訪問器之後] 姓名:Alex Coy ID:3115 GPA:2.79 DOB:1998 年 8 月 8 日課程:【面向對象程序設計、密碼學、攝影、網絡安全】

結論

這是 Java 訪問器和修改器的快速介紹和示例。建議您創建自己的示例示例並親自測試這些方法。作為下一個練習,您可以找到通過 IDE 自動添加 getter 和 setter 的方法。找出並告訴我們!
留言
  • 受歡迎
你必須登入才能留言
此頁面尚無留言