Posted in

Ngày 1: Encapsulation.

Ngày 1: Encapsulation.
Encapsulation được định nghĩa là việc đóng gói dữ liệu và các phương thức hoạt động trên dữ liệu đó lại thành thành một đơn vị cô lập. Điều này ngăn chặn dữ liệu trực tiếp truy cập từ bên ngoài và là một trong những nguyên lý cốt lõi của OOP.

Ví dụ:
“`
public class Employee {
private String name;
private int empId;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
}
“`
Trong ví dụ trên, dữ liệu của lớp Employee được bảo vệ bằng cách sử dụng các truy cập modifier private và truy cập chỉ có thể được thực hiện thông qua các phương thức get và set.

Câu hỏi phỏng vấn:
1. Làm thế nào để đạt được encapsulation trong Java?
– Để đạt được Encapsulation trong Java, dữ liệu của lớp phải được đặt là private và các phương thức public getter và setter phải được sử dụng để lấy và thiết lập giá trị của các biến.

2. Lợi ích của encapsulation là gì?
– Encapsulation giúp che dấu chi tiết bên trong, bảo vệ dữ liệu và ngăn chặn việc truy cập trực tiếp dữ liệu từ bên ngoài.

3. Encapsulation có ý nghĩa gì trong OOP?
– Encapsulation là một trong những nguyên lý cốt lõi của OOP. Nó giúp đề cao sự che dấu và ngăn chặn thao tác trái phép trên dữ liệu.

4. Tại sao cần sử dụng phương thức getter và setter trong Java?
– Phương thức getter và setter được sử dụng để lấy và thiết lập giá trị của các biến. Các phương thức này là cảm giác hướng đối tượng.

5. Làm thế nào để tạo một lớp nguyên mẫu (immutable class) trong Java?
– Để tạo một lớp nguyên mẫu trong Java, bạn cần làm các bước sau: Đặt tất cả các biến thành private, không cung cấp phương thức setter, đảm bảo rằng các phương thức của lớp sẽ không thay đổi việc dùng của các biến không thay đổi được, nếu một biến được sử dụng lớp không thay đổi được, trả về một bản sao của đối tượng giữa các phương thức getter.

Leave a Reply

Your email address will not be published. Required fields are marked *