Video: Lập trình hướng đối tượng C++ Bài 6 Trừu tượng (Abstraction) là gì 2025
Cả hai giao diện và các lớp trừu tượng có các phương pháp trừu tượng trong Java. Nhưng các phương pháp trừu tượng đóng vai trò khác nhau trong hai loại loại tài liệu tham khảo này. Làm thế nào bạn có thể giữ nó trong tâm trí của bạn?
Điều đầu tiên cần làm là nhớ rằng không ai học về các khái niệm lập trình hướng đối tượng mà không cần thực hành nhiều trong việc viết mã. Nếu bạn đã r bạn đang bối rối, đó có thể là một điều tốt. Nó có nghĩa là bạn đã hiểu đủ để biết những thứ này phức tạp như thế nào. Bạn viết mã càng nhiều, bạn sẽ cảm thấy thoải mái hơn với các lớp học, giao diện, và tất cả những ý tưởng khác.
Điều tiếp theo cần làm là phân loại sự khác nhau trong cách bạn khai báo các phương pháp trừu tượng. Đây là câu chuyện.
Trong một lớp thông thường (không phải tóm tắt) | Trong một giao diện | Trong một lớp trừu tượng | |
Có cho phép các phương pháp trừu tượng không? | Không | Có | Có |
Có thể khai báo phương pháp có chứa từ abstract không? | Không | Có | Có |
Có thể khai báo phương pháp có chứa từ mặc định (nghĩa là "không trừu tượng") không? | Có | Không | Không phải |
trừu tượng cũng như Mặc định Không trừu tượng | Tóm tắt | Không trừu tượng |
|
Các giao diện và các lớp trừu tượng là những con thú tương tự, và các tính năng mới trong Java 8 khiến chúng thậm chí còn giống nhau hơn các phiên bản Java trước đó. Nhưng ý tưởng cơ bản là về mối quan hệ giữa những thứ.
- là một mối quan hệ. Thực hiện giao diện thể hiện quan hệ
- có thể làm. Nếu bạn muốn có nhiều chứng cứ hữu hình hơn về sự khác biệt giữa một giao diện và một lớp trừu tượng, hãy xem xét điều này: Một lớp có thể thực hiện nhiều giao diện, nhưng một lớp chỉ có thể mở rộng một lớp khác, ngay cả khi lớp đó là một lớp trừu tượng. Vì vậy, sau khi bạn tuyên bố
lớp học công khai Dog mở rộng HousePet
bạn cũng không thể tạo
Dog
mở rộng lớp
Bạn
. Nhưng bạn có thể thực hiện
Dog
thực hiện một giao diện
Dễ chấp nhận được
. Và sau đó bạn có thể thực hiện cùng một lớp
Dog
thực hiện một giao diện
Trainable
.
Và, nếu bạn muốn có sự khác biệt hữu hình giữa
giữa giao diện và lớp trừu tượng, đây là một cho bạn: Một giao diện không thể chứa bất kỳ trường nào không tĩnh, không phải là cuối cùng. Vì vậy, ở đó. Giao diện và các lớp trừu tượng khác nhau. Nhưng nếu bạn là người mới chơi, bạn không nên lo lắng về sự khác biệt. Chỉ cần đọc càng nhiều mã càng tốt, và đừng sợ khi bạn thấy một phương pháp trừu tượng. Thats tất cả để có nó.