Sự khác biệt giữa lớp và giao diện

Sự khác biệt chính - Lớp Giao diện vs
 

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ác lớp và đối tượng. Một lớp là một kế hoạch chi tiết để tạo ra 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 giao diện. Giao diện và lớp có thể giống nhau, nhưng chúng có một 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. Các 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 kế hoạch chi tiết để 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.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. Lớp học là gì
3. Giao diện là gì
4. Điểm tương đồng giữa Class và Interface
5. So sánh cạnh nhau - Class vs Giao diện ở dạng bảng
6. Tóm tắt

Lớp học là gì?

Trong OOP, mọi thứ được coi là 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 kế hoạch chi tiết để tạo ra một đối tượng. Khi xây dựng một ngôi nhà, kiến ​​trúc sư vẽ sơ đồ. Kế hoạch tương tự như một lớp học. Ngôi nhà tương tự như đối tượng. Lớp học là kế hoạch để xây dựng một đối tượng. Một đối tượng là những gì được tạo ra bằng cách sử dụ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, đ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 lớp từ khóa.

lớp class_name

// tính chất

// phương thức

Các ngôn ngữ lập trình như C # và 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ử tên lớp là Sinh viên.

Sinh viên s1 = Sinh viên mới ();

S1 này là đối tượng. Từ khóa mới có thể được sử dụng để phân bổ bộ nhớ cho các thuộc tính. Một lớp cũng có một hàm tạo để khởi tạo các thuộc tính hoặc các biến.

Các thành viên lớp như các thuộc tính và phương thức có các sửa đổi 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 đó 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à được 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 tư nhân chỉ có thể truy cập vào lớp. 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. Đó là để ẩn các chi tiết thực hiện và hiển thị chức năng cho người dùng. 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 pháp trừu tượng không có thực hiện. Một lớp có í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 để thực hiện 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 đề mơ hồ. Do đó, các ngôn ngữ lập trình như Java và C # có giao diện.

Các giao diện chỉ chứa khai báo các phương thức. Không có phương pháp thực hiện. Ngoài ra, giao diện không thể được sử dụng để tạo đối tượng. Chúng được sử dụng để hỗ trợ nhiều 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 trực tuyến.

giao diện interface_name

gõ phương thức1 (tham số_list);

gõ method2 (tham số_list);

Theo như trên, giao diện chỉ có 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 Nhận triển khai thực hiện các 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à các giao diện. Giao diện A có khai báo phương thức là tổng (). Giao diện B có một phương thức khai báo phụ (). 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 loại 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 triển khai đị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 tương đồng giữa lớp và giao diện là gì?

  • Cả hai đều là loại tham khảo.
  • 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 và giao diện là gì?

Class vs Giao diện

Một lớp là một kiểu tham chiếu là một kế hoạch chi tiết để tạo ra một đối tượng. Giao diện là loại tham chiếu không thể khởi tạo.
 Khởi tạo đối tượng
Một lớp được sử dụng để khởi tạo một đối tượng. Một giao diện không thể được khởi tạo vì các phương thức không thể thực hiện bất kỳ hành động nào.
Constructor
Một lớp chứa một hàm tạo, để khởi tạo các biến. Một giao diện không chứa hàm tạo bởi vì chúng hầu như không có biến nào để khởi tạo.
 Từ khóa
Một lớp sử dụng từ khóa lớp class. Giao diện sử dụng từ khóa Giao diện trực tuyến.
Chỉ định truy cập
Các thành viên của lớp có thể là tư nhân, công cộng và được bảo vệ. Các thành viên của giao diện phải luôn công khai vì các lớp triển khai định nghĩa chúng.

Tóm tắt - Lớp học Giao diện vs

Các 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 kế hoạch chi tiết để 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ể thực hiện nhiều giao diện. Nhưng nó chỉ có thể mở rộng một siêu lớp. Trong giao diện có thể kế thừa nhiều giao diện nhưng không thể thực hiện được. Cả hai đều có tầm quan trọng của họ. Lập trình viên có thể sử dụng chúng theo phần mềm phát triển.

Tải xuống lớp PDF vs 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

Tài liệu tham khảo:

1.tutorialspoint.com. Đối tượng Java và các lớp học. Trực tiếp, Điểm. Có sẵn ở đây 
2.navinreddy20. Giao diện trong java với một ví dụ, Java By Navin Reddy, ngày 11 tháng 12 năm 2012. Có sẵn tại đây