CodeGym/Blog Java/Ngẫu nhiên/Bộ truy cập và bộ biến đổi trong Java

Bộ truy cập và bộ biến đổi trong Java

Xuất bản trong nhóm
Trước khi chúng ta đi sâu vào khái niệm này, bạn cần biết về các lớpsự đóng gói trong Java .

Đóng gói trong Java

Đóng gói, như tên gợi ý, là quá trình đóng gói dữ liệu và phương thức dưới dạng một đơn vị. Trong lập trình hướng đối tượng , các thành viên dữ liệu của một lớp được đặt ở chế độ riêng tư để hạn chế quyền truy cập trực tiếp vào chúng. Vì vậy, không thể truy xuất hoặc sửa đổi các thành viên dữ liệu được đóng gói nếu không có cách xác định đúng. Đối với điều này, chúng tôi xác định các phương thức truy cập và biến đổi trong Java. Chúng ta hãy xem xét các phương pháp này một cách chi tiết.

Trình truy cập và trình biến đổi trong Java là gì?

phụ kiện

Tên của phương thức truy cập được điều khiển bởi từ “ access ” cho phép người dùng truy cập thông tin cá nhân trong một lớp. Nếu bạn đã từng nghe nói về phương thức “ get ” hoặc “ getters ”, thì nó cũng giống như các bộ truy cập. Các getters truy xuất các biến và hằng số riêng tư để truy cập bên ngoài phạm vi của một lớp.

cú pháp

Chúng tôi sử dụng từ khóa “ get ” cho các bộ truy cập Java. Để truy cập vào biến “ name ”, chúng ta có thể sử dụng getter getName() sau đây . Đối với ví dụ về phương pháp truy cập, hãy xem phần sau.
public class Student {

	private String name;

	public String getName() {
		return name;
	}
}
Vui lòng lưu ý rằng mỗi getter có từ khóa “ get ” trước tên biến trong chữ ký phương thức và kiểu trả về giống với kiểu của biến được trả về. Vì biến “ name ” thuộc loại “ String ” nên phương thức getter/accessor cũng trả về một “ String ”.

người đột biến

Phương thức trình biến đổi trong Java được điều khiển bởi từ “mutate”, nghĩa đen là sửa đổi. Bộ biến đổi cho phép người dùng thiết lập/thay đổi giá trị của các biến riêng tư của một đối tượng lớp. Trong ngữ cảnh lập trình hướng đối tượng, phương thức “ set ” hoặc “ setters ” còn được gọi là bộ biến đổi. Setters tạo điều kiện đóng gói vì các thành viên dữ liệu riêng tư không thể được sửa đổi trực tiếp. Vì vậy, các phương thức/bộ biến đổi setter được sử dụng để cập nhật giá trị của một biến bên ngoài phạm vi lớp.

cú pháp

Đối với bộ biến đổi, chúng tôi sử dụng từ khóa “ set ”. Mỗi setter được xác định bởi từ khóa “set” theo sau là tên của biến cần thay đổi. Ở đây, chúng tôi sử dụng setter setName() nhận một biến kiểu String làm tham số.
public class Student {

	private String name;

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

Tại sao chúng ta cần người truy cập và người biến đổi?

Chúng ta cần getters và setters hoặc accessors và mutator để bảo vệ thông tin nhạy cảm trong một lớp. Thông tin được bảo vệ khỏi việc sử dụng bất hợp pháp bằng cách sử dụng các phương pháp tiêu chuẩn này. Ngoài ra, tập dữ liệu trong bộ biến đổi cũng có thể được xác thực nếu nó đáp ứng tất cả các yêu cầu của chương trình.

Ví dụ về Accessor và Mutator

Bằng cách sử dụng class student bên dưới, chúng ta hãy xem các ví dụ về các phương thức của bộ truy cập và bộ biến đổi.

Ví dụ

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()));
	}
}

đầu ra

Tiểu sử sinh viên [ Trước khi sử dụng Bộ truy cập & Bộ biến đổi ] Tên: null ID: null GPA: 0,0 DOB: null Khóa học: null Tiểu sử sinh viên [ Sau khi sử dụng Trình biến đổi & Trình truy cập ] Tên: Alex Coy ID: 3115 GPA: 2.79 DOB: 08/08/1998 Khóa học: [Lập trình hướng đối tượng, Mật mã, Nhiếp ảnh, An ninh mạng]

Phần kết luận

Đây là phần giới thiệu nhanh và ví dụ về bộ truy cập và bộ biến đổi trong Java. Bạn nên tạo các ví dụ mẫu của riêng mình và tự mình kiểm tra các phương pháp này. Trong bài tập tiếp theo, bạn có thể tìm cách tự động thêm getters và setters vào IDE. Tìm hiểu và cho chúng tôi biết!
Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào