Sự khác biệt chính - Lớp học so với Giao diện
Lập trình hướng đối tượng (OOP) là một mô hình phổ biến trong phát triển phần mềm. Nó giúp đưa các kịch bản trong thế giới thực vào lập trình bằng cách sử dụng các lớp và đối tượng. Một lớp là một bản thiết kế để tạo một đối tượng. Lập trình viên có thể tạo một lớp với các thuộc tính và phương thức. Một học sinh và giáo viên là đối tượng. Tạo một đối tượng được gọi là khởi tạo. OOP cũng sử dụng các giao diện. Các giao diện và lớp có vẻ giống nhau, nhưng chúng có sự khác biệt. Bài viết này thảo luận về sự khác biệt giữa một lớp và một giao diện. Sự khác biệt chính giữa một lớp và một giao diện là một lớp là một kiểu tham chiếu là một bản thiết kế để khởi tạo một đối tượng trong khi giao diện là một kiểu tham chiếu không thể được sử dụng để khởi tạo một đối tượng.
Class là gì?
Trong OOP, mọi thứ đều được coi như một đối tượng. Không thể tạo một đối tượng mà không có lớp. Một lớp là một bản thiết kế để tạo một đối tượng. Khi xây nhà, kiến trúc sư đã lên phương án. Kế hoạch tương tự như một lớp học. Ngôi nhà tương tự như vật thể. Lớp là kế hoạch để xây dựng một đối tượng. Đối tượng là thứ được tạo bằng lớp.
Lớp chứa các thuộc tính và phương thức. Một học sinh có thể có các thuộc tính như tên, lớp, số chỉ mục. Một học sinh có thể có các phương pháp như đọc sách, đi bộ, học tập. Một lớp được tạo với các thuộc tính và phương thức cần thiết.
Cú pháp để tạo một lớp trong nhiều ngôn ngữ lập trình như sau. Nó được tạo bằng cách sử dụng lớp từ khóa.
class class_name {
// thuộc tính
// phương thức
}
Các ngôn ngữ lập trình như Cvà Java tuân theo một cú pháp tương tự để tạo một đối tượng bằng cách sử dụng một lớp. Giả sử rằng tên lớp là Sinh viên.
Student s1=new Student ();
Đây là đối tượng s1. Từ khóa "mới" được sử dụng để cấp phát bộ nhớ cho các thuộc tính. Một lớp cũng có một phương thức khởi tạo để khởi tạo các thuộc tính hoặc biến.
Các thành viên lớp chẳng hạn như thuộc tính và phương thức có bổ ngữ truy cập. Các chỉ định truy cập mô tả khả năng truy cập và khả năng hiển thị của các thành viên đó đối với các lớp khác. Các thành viên của lớp có thể có các chỉ định truy cập như công khai, riêng tư và bảo vệ. Các thành viên công cộng có thể truy cập bởi các lớp khác. Các thành viên riêng tư chỉ có thể truy cập vào lớp học. Các thành viên được bảo vệ có thể truy cập trong lớp và các lớp con có liên quan.
Giao diện là gì?
Trừu tượng là một trụ cột của lập trình Hướng đối tượng. Nó là để ẩn các chi tiết triển khai và hiển thị chức năng cho người dùng. Tính trừu tượng đạt được bằng cách sử dụng các lớp và giao diện trừu tượng. Một phương thức trừu tượng không có phần triển khai. Một lớp có chứa ít nhất một phương thức trừu tượng được gọi là một lớp trừu tượng.
Khi có hai lớp trừu tượng, các phương thức được khai báo trong các lớp đó sẽ được thực hiện. Một lớp mới được sử dụng để triển khai các phương thức đó. Nếu cả hai lớp có cùng một phương thức, nó có thể gây ra vấn đề không rõ ràng. Do đó, các ngôn ngữ lập trình như Java và Ccó giao diện.
Interfaces chỉ chứa phần khai báo các phương thức. Không có phương pháp thực hiện. Ngoài ra, không thể sử dụng các giao diện để tạo các đối tượng. Chúng được sử dụng để hỗ trợ nhiều bản kế thừa và để bảo mật mã.
Cú pháp của Giao diện như sau. Giao diện sử dụng từ khóa “giao diện”.
giao diện_tên_tên {
type method1 (tham số_danh sách);
type method2 (tham số_danh sách);
}
Theo trên, giao diện chỉ có phần khai báo. Không có định nghĩa. Vì vậy, các giao diện không thể khởi tạo các đối tượng. Nó chỉ cung cấp một cái nhìn trừu tượng về giao diện là gì. Các phương thức được khai báo trong giao diện có thể được thực hiện bởi một hoặc nhiều lớp. Một lớp sử dụng từ khóa “triển khai” để triển khai một giao diện. Tham khảo ví dụ dưới đây được viết bằng Java.
Hình 01: Chương trình sử dụng Giao diện
Theo chương trình trên, A và B là giao diện. Giao diện A có một khai báo phương thức là sum (). Giao diện B có một khai báo phương thức sub (). Lớp C đang triển khai cả hai giao diện là A và B. Do đó, lớp C định nghĩa cả hai phương thức sum () và sub (). Sau khi tạo đối tượng kiểu C, có thể gọi cả hai phương thức sum () và sub ().
Các phương thức được khai báo bên trong giao diện phải luôn được công khai vì các lớp thực thi định nghĩa chúng. Một giao diện cũng có thể kế thừa từ một giao diện khác.
Điểm giống nhau giữa Lớp và Giao diện là gì?
- Cả hai đều là loại tham chiếu.
- Cả hai đều liên quan đến Lập trình hướng đối tượng.
Sự khác biệt giữa Lớp học và Giao diện là gì?
Lớp so với Giao diện |
|
Một lớp là một kiểu tham chiếu là một bản thiết kế để tạo một đối tượng. | Giao diện là kiểu tham chiếu không thể khởi tạo được. |
Lập tức đối tượng | |
Một lớp được sử dụng để khởi tạo một đối tượng. | Không thể khởi tạo giao diện vì các phương thức không thể thực hiện bất kỳ hành động nào. |
Khối mã lệnh | |
Một lớp chứa một phương thức khởi tạo, để khởi tạo các biến. | Giao diện không chứa hàm tạo vì chúng hầu như không có bất kỳ biến nào để khởi tạo. |
Từ khóa | |
Một lớp sử dụng từ khóa “lớp”. | Một giao diện sử dụng từ khóa “giao diện”. |
Công cụ chỉ định quyền truy cập | |
Thành viên của lớp có thể ở chế độ riêng tư, công khai và được bảo vệ. | Các thành viên của giao diện phải luôn ở chế độ công khai vì các lớp triển khai xác định chúng. |
Tóm tắt - Class vs Interface
Lớp và Giao diện được sử dụng rộng rãi trong Lập trình Hướng đối tượng. Sự khác biệt giữa một lớp và một giao diện là một lớp là một kiểu tham chiếu là một bản thiết kế để khởi tạo một đối tượng và giao diện là một kiểu tham chiếu không thể được sử dụng để khởi tạo một đối tượng. Một lớp có thể triển khai nhiều giao diện. Nhưng nó chỉ có thể mở rộng một lớp cha. Trong giao diện có thể kế thừa nhiều giao diện nhưng không thể có một phần thực thi. Cả hai đều có tầm quan trọng của chúng. Lập trình viên có thể sử dụng chúng tùy theo phần mềm đang phát triển.
Tải xuống Lớp PDF so với Giao diện
Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây Sự khác biệt giữa Lớp và Giao diện