Sự khác biệt giữa Gói và Giao diện trong Java

Mục lục:

Sự khác biệt giữa Gói và Giao diện trong Java
Sự khác biệt giữa Gói và Giao diện trong Java

Video: Sự khác biệt giữa Gói và Giao diện trong Java

Video: Sự khác biệt giữa Gói và Giao diện trong Java
Video: Java Cơ Bản 40 Kế thừa trong Java 2024, Tháng mười một
Anonim

Sự khác biệt chính giữa Gói và Giao diện trong Java là Gói giúp phân loại các lớp một cách có phương pháp để truy cập và duy trì chúng dễ dàng trong khi Giao diện giúp triển khai nhiều lớp kế thừa và đạt được sự trừu tượng.

Java là một trong những ngôn ngữ lập trình phổ biến nhất. Ưu điểm chính của Java là nó hỗ trợ Lập trình hướng đối tượng. Phương pháp luận này cho phép mô hình hóa các đối tượng thế giới thực trong phần mềm. Một lớp là một bản thiết kế để tạo một đối tượng. Mỗi đối tượng chứa dữ liệu hoặc các trường để mô tả các thuộc tính hoặc các thuộc tính và phương thức để mô tả các hành vi. Bài viết này thảo luận về hai khái niệm liên quan đến OOP trong Java trong Java đó là Gói và Giao diện.

Gói trong Java là gì?

Java cung cấp một số lượng lớn các lớp. Giữ tất cả các lớp trong một thư mục duy nhất có thể khó khăn vì khó truy cập. Điều này có thể ảnh hưởng đến khả năng quản lý chương trình. Java sử dụng các gói để sắp xếp các lớp. Nó tương tự như một thư mục. Java API nhóm các lớp thành các gói khác nhau theo chức năng. Do đó, mỗi gói chứa một tập hợp các lớp có liên quan.

Ví dụ về Gói trong Java

Vài gói ví dụ như sau. Gói java.io chứa các lớp hỗ trợ đầu vào, đầu ra. Nó bao gồm File, PrintStream, BufferInputStream, v.v. Gói java.net chứa các lớp liên quan đến mạng. Một số ví dụ là URL, Socket, ServerSocket. Gói java.awt chứa tất cả các lớp cần thiết để xây dựng Giao diện người dùng đồ họa. Đó là một số gói API Java.

Khi lập trình viên muốn sử dụng một lớp nào đó trong chương trình, anh ta nên nhập gói đó. Nếu lập trình viên muốn sử dụng lớp BufferInputStream trong gói java.io, anh ta nên viết câu lệnh nhập như sau.

nhập java.util. BufferInoutStream;

Câu lệnh dưới đây sẽ nhập tất cả các lớp trong gói sử dụng.

nhập java.util.;

Cũng có thể tạo các gói do người dùng xác định.

nhân viên gói;

nhân viên hạng công khai {

}

Theo ví dụ trên, nhân viên là tên gói. Lớp Nhân viên là một phần của gói nhân viên. Tệp này lưu dưới dạng Employee.java vào gói nhân viên.

Hơn nữa, có thể nhập một lớp công khai từ gói này sang gói khác. Tham khảo ví dụ sau.

Sự khác biệt giữa gói và giao diện trong Java
Sự khác biệt giữa gói và giao diện trong Java
Sự khác biệt giữa gói và giao diện trong Java
Sự khác biệt giữa gói và giao diện trong Java

Hình 01: Lớp A

Sự khác biệt giữa gói và giao diện trong Java_ Hình 2
Sự khác biệt giữa gói và giao diện trong Java_ Hình 2
Sự khác biệt giữa gói và giao diện trong Java_ Hình 2
Sự khác biệt giữa gói và giao diện trong Java_ Hình 2

Hình 02: Lớp B

Lớp A nằm trong gói 1, và nó chứa phương thức public được gọi là display. Lớp B nằm trong gói 2 và nó chứa phương thức chính. Mặc dù chúng ở trong các gói riêng biệt; lớp B có thể tạo một đối tượng của lớp A bằng cách nhập gói1. Sau khi nhập gói 1, lớp B có quyền truy cập vào dữ liệu và phương thức của lớp A.

Nhìn chung, Gói trong Java giúp tổ chức các tệp dự án. Điều này rất hữu ích khi phát triển hệ thống lớn vì nó cho phép lưu trữ tất cả các tệp một cách có phương pháp. Ngoài ra, các gói Java API cho phép lập trình viên sử dụng các lớp hiện có.

Giao diện trong Java là gì?

Đôi khi lập trình viên có thể không biết định nghĩa của phương thức. Trong tình huống này, người lập trình chỉ có thể khai báo phương thức. Một phương thức trừu tượng là một phương thức không có định nghĩa. Nó chỉ có phần khai báo. Khi có ít nhất một phương thức trừu tượng, lớp đó sẽ trở thành một lớp trừu tượng. Hơn nữa, lớp trừu tượng có thể chứa các phương thức trừu tượng cũng như các phương thức không trừu tượng. Lập trình viên không thể tạo các đối tượng từ các lớp trừu tượng.

Khi một lớp mở rộng một lớp trừu tượng, lớp mới sẽ định nghĩa tất cả các phương thức trừu tượng trong lớp trừu tượng. Nói cách khác, giả sử rằng lớp trừu tượng A có một phương thức trừu tượng được gọi là display. Lớp B mở rộng lớp A. Sau đó, lớp B sẽ xác định phương thức hiển thị.

Ví dụ về Giao diện trong Java

Giả sử rằng cả A và B đều là các lớp trừu tượng. Nếu lớp C là mở rộng A và B, thì lớp C đó phải xác định các phương thức trừu tượng của cả hai lớp. Đây là đa kế thừa. Java không hỗ trợ đa kế thừa. Để thực hiện nó, lập trình viên nên sử dụng các giao diện. Nếu A và B là giao diện, thì lớp C có thể triển khai chúng. Tham khảo ví dụ sau.

Sự khác biệt giữa gói và giao diện trong Java_ Hình 3
Sự khác biệt giữa gói và giao diện trong Java_ Hình 3
Sự khác biệt giữa gói và giao diện trong Java_ Hình 3
Sự khác biệt giữa gói và giao diện trong Java_ Hình 3

Hình 03: Giao diện A

Sự khác biệt giữa gói và giao diện trong Java_ Hình 4
Sự khác biệt giữa gói và giao diện trong Java_ Hình 4
Sự khác biệt giữa gói và giao diện trong Java_ Hình 4
Sự khác biệt giữa gói và giao diện trong Java_ Hình 4

Hình 04: Giao diện B

Giao diện A có phương thức trừu tượng display1 và giao diện B có phương thức trừu tượng display2.

Sự khác biệt giữa gói và giao diện trong Java_ Hình 5
Sự khác biệt giữa gói và giao diện trong Java_ Hình 5
Sự khác biệt giữa gói và giao diện trong Java_ Hình 5
Sự khác biệt giữa gói và giao diện trong Java_ Hình 5

Hình 05: Lớp C

Lớp C thực hiện cả giao diện A và B. Do đó, nó phải xác định cả hai phương pháp.

Sự khác biệt chính giữa gói và giao diện trong Java
Sự khác biệt chính giữa gói và giao diện trong Java
Sự khác biệt chính giữa gói và giao diện trong Java
Sự khác biệt chính giữa gói và giao diện trong Java

Hình 06: Phương pháp chính

Bây giờ trong phương thức chính, có thể tạo một đối tượng của C và gọi cả hai phương thức. Tương tự như vậy, các giao diện giúp triển khai đa kế thừa trong Java.

Khác với đa kế thừa, các giao diện giúp đạt được sự trừu tượng. Nó là một trong những khái niệm chính trong OOP. Tính trừu tượng cho phép ẩn các chi tiết triển khai và chỉ hiển thị chức năng cho người dùng. Hơn nữa, nó cho phép tập trung vào những gì đối tượng làm thay vì nó được thực hiện như thế nào. Là một giao diện bao gồm các phương thức trừu tượng, nó giúp lưu trữ tính trừu tượng.

Sự khác biệt giữa Gói và Giao diện trong Java là gì?

Gói là một nhóm các lớp liên quan cung cấp khả năng bảo vệ truy cập và quản lý không gian tên. Interface là một kiểu tham chiếu tương tự như class là một tập hợp các phương thức trừu tượng. Gói giúp phân loại các lớp một cách có phương pháp để truy cập và duy trì chúng một cách dễ dàng. Mặt khác, Giao diện giúp thực hiện nhiều kế thừa và đạt được sự trừu tượng. Đây là sự khác biệt chính giữa Gói và Giao diện trong Java. Hơn nữa, cách viết một gói là các chữ cái thường như java.util, java.awt. Nếu tên của giao diện là Khu vực, thì nó được viết bằng, Giao diện Khu vực.

Sự khác biệt giữa gói và giao diện trong Java ở dạng bảng
Sự khác biệt giữa gói và giao diện trong Java ở dạng bảng
Sự khác biệt giữa gói và giao diện trong Java ở dạng bảng
Sự khác biệt giữa gói và giao diện trong Java ở dạng bảng

Tóm tắt - Gói so với Giao diện trong Java

Sự khác biệt giữa Gói và Giao diện trong Java là Gói giúp phân loại các lớp một cách có phương pháp để truy cập và duy trì chúng dễ dàng trong khi Giao diện giúp triển khai nhiều lớp kế thừa và đạt được sự trừu tượng.

Đề xuất: