Posted in

Ngày 1: Khái niệm về abstraction trong OOP.

Ngày 1: Khái niệm về abstraction trong OOP.
– Abstraction là một khái niệm cốt lõi trong OOP giúp giấu đi những chi tiết thực hiện và chỉ cho người dùng thấy các chức năng mà họ cần biết. Abstraction giảm độ phức tạp và cũng giúp gia tăng hiệu suất. Ví dụ, bạn có thể xem máy lọc không khí là một đối tượng có chức năng lọc không khí, bạn không cần phải biết cách làm thế nào nó hoạt động bên trong.
– Abstraction trong Java đạt được bằng cách sử dụng interface và abstract class. Với abstract class, bạn có thể tạo các phương thức trừu tượng (chưa có thực hiện) và các phương thức không phải là abstract.
– Ví dụ:
“`
abstract class Fruit {
abstract void taste();
}

class Apple extends Fruit {
void taste() {
System.out.println(“Aplle is sweet”);
}
}

class Lemon extends Fruit {
void taste() {
System.out.println(“Lemon is sour”);
}
}

public class Main {
public static void main(String[] args) {
Fruit myFruit = new Apple();
myFruit.taste(); // output: Apple is sweet

myFruit = new Lemon();
myFruit.taste(); // Output: Lemon is sour
}
}
“`
Trường hợp đặc biệt: Trong trường hợp cần tạo ra một lớp có chứa các phương thức không có nội dung thực hiện, bạn có thể sử dụng interface thay vì abstract class.

1) Câu hỏi: Abstraction là gì trong Java?
– Trả lời: Abstraction trong Java là một quy trình giúp giấu đi chi tiết triển khai, chỉ giữ lại khía cạnh cốt yếu dễ hiểu để người dùng.

2) Câu hỏi: Làm thế nào để đạt được abstraction trong Java?
– Trả lời: Abstraction được đạt được trong Java bằng cách sử dụng interface và abstract class.

3) Câu hỏi: Điểm khác biệt giữa interface và abstract class là gì?
– Trả lời: Abstract class có thể có cả phương thức trừu tượng và không trừu tượng, trong khi interface chỉ có thể có phương thức trừu tượng.

4) Câu hỏi: Nếu có một lớp với tất cả các phương thức không có thực hiện, bạn sẽ sử dụng interface hay abstract class?
– Trả lời: Trong trường hợp này, nên sử dụng interface.

5) Câu hỏi: Tại sao cần sử dụng Abstraction trong Java?
– Trả lời: Abstraction giúp giảm độ phức tạp bằng cách giấu mọi chi tiết triển khai, giúp mã nguồn dễ hiểu và dễ bảo dưỡng hơn. Nó cũng tăng tính bảo mật do chi tiết triển khai không được tiết lộ.

Leave a Reply

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