Kluczowa różnica między pakietem a interfejsem w Javie polega na tym, że pakiet pomaga metodycznie kategoryzować klasy, aby uzyskać do nich łatwy dostęp i łatwo je obsługiwać, podczas gdy interfejs pomaga zaimplementować wiele dziedziczeń i osiągnąć abstrakcję.
Java to jeden z najpopularniejszych języków programowania. Główną zaletą Javy jest to, że obsługuje programowanie zorientowane obiektowo. Ta metodologia umożliwia modelowanie obiektów świata rzeczywistego w oprogramowaniu. Klasa to plan tworzenia obiektu. Każdy obiekt zawiera dane lub pola opisujące atrybuty lub właściwości i metody opisujące zachowania. W tym artykule omówiono dwie koncepcje związane z OOP w Javie w Javie, czyli Pakiet i Interfejs.
Co to jest pakiet w Javie?
Java zapewnia dużą liczbę klas. Przechowywanie wszystkich klas w jednym folderze może być trudne, ponieważ trudno jest uzyskać do niego dostęp. Może to wpłynąć na możliwość zarządzania programem. Java używa pakietów do organizowania klas. Jest podobny do folderu. Java API grupuje klasy w różne pakiety zgodnie z funkcjonalnością. Dlatego każdy pakiet zawiera powiązany zestaw klas.
Przykład pakietów w Javie
Kilka przykładowych pakietów jest następujących. Pakiet java.io zawiera wejściowe i wyjściowe klasy wspierające. Zawiera File, PrintStream, BufferInputStream itp. Pakiet java.net zawiera klasy związane z siecią. Niektóre przykłady to URL, Socket, ServerSocket. Pakiet java.awt zawiera wszystkie klasy wymagane do budowy graficznych interfejsów użytkownika. Oto kilka pakietów Java API.
Kiedy programista chce użyć pewnej klasy w programie, powinien zaimportować ten pakiet. Jeśli programista chce użyć klasy BufferInputStream w pakiecie java.io, powinien napisać instrukcję import w następujący sposób.
import java.util. BufferInoutStream;
Poniższa instrukcja zaimportuje wszystkie klasy z pakietu util.
import java.util.;
Możliwe jest również tworzenie pakietów zdefiniowanych przez użytkownika.
pracownik pakietu;
public class Pracownik {
}
Według powyższego przykładu pracownik jest nazwą pakietu. Klasa Pracownik jest częścią pakietu pracowniczego. Ten plik zapisuje się jako Employee.java w pakiecie pracownika.
Ponadto możliwe jest importowanie klasy publicznej z jednego pakietu do drugiego. Zapoznaj się z poniższym przykładem.
Rysunek 01: Klasa A
Rysunek 02: Klasa B
Klasa A jest w pakiecie 1 i zawiera publiczną metodę o nazwie display. Klasa B znajduje się w pakiecie 2 i zawiera główną metodę. Mimo że są w osobnych opakowaniach; klasa B może stworzyć obiekt klasy A importując pakiet1. Po zaimportowaniu pakietu 1 klasa B ma dostęp do danych i metod klasy A.
Ogólnie rzecz biorąc, Pakiet w Javie pomaga organizować pliki projektu. Jest to bardzo przydatne przy tworzeniu dużego systemu, ponieważ pozwala na metodyczne przechowywanie wszystkich plików. Ponadto pakiety Java API pozwalają programistom na korzystanie z już istniejących klas.
Co to jest interfejs w Javie?
Czasami programista może nie znać definicji metody. W takich sytuacjach programista może jedynie zadeklarować metodę. Metoda abstrakcyjna to metoda, która nie ma definicji. Ma tylko deklarację. Gdy istnieje co najmniej jedna metoda abstrakcyjna, ta klasa staje się klasą abstrakcyjną. Ponadto klasa abstrakcyjna może zawierać zarówno metody abstrakcyjne, jak i nieabstrakcyjne. Programista nie może tworzyć obiektów z klas abstrakcyjnych.
Kiedy klasa rozszerza klasę abstrakcyjną, nowa klasa powinna definiować wszystkie metody abstrakcyjne w klasie abstrakcyjnej. Innymi słowy, załóżmy, że klasa abstrakcyjna A ma metodę abstrakcyjną o nazwie display. Klasa B rozszerza klasę A. Następnie klasa B powinna zdefiniować sposób wyświetlania.
Przykład interfejsu w Javie
Załóżmy, że zarówno A, jak i B są klasami abstrakcyjnymi. Jeśli klasa C jest rozszerzeniem A i B, to ta klasa C musi zdefiniować metody abstrakcyjne obu klas. To jest dziedziczenie wielokrotne. Java nie obsługuje dziedziczenia wielokrotnego. Aby to zaimplementować, programista powinien wykorzystać interfejsy. Jeśli A i B są interfejsami, to klasa C może je zaimplementować. Zapoznaj się z poniższym przykładem.
Rysunek 03: Interfejs A
Rysunek 04: Interfejs B
Interfejs A ma metodę abstrakcyjną display1, a interfejs B ma metodę abstrakcyjną display2.
Rysunek 05: Klasa C
Klasa C implementuje interfejsy A i B. Dlatego należy zdefiniować obie metody.
Rysunek 06: Główna metoda
Teraz w metodzie głównej możliwe jest utworzenie obiektu w języku C i wywołanie obu metod. Podobnie interfejsy pomagają zaimplementować wielokrotne dziedziczenie w Javie.
Inne niż wielokrotne dziedziczenie, interfejsy pomagają osiągnąć abstrakcję. Jest to jedna z głównych koncepcji w OOP. Abstrakcja pozwala ukryć szczegóły implementacji i pokazać użytkownikowi tylko funkcjonalność. Co więcej, pozwala skupić się na tym, co robi obiekt, a nie na tym, jak to się robi. Ponieważ interfejs składa się z abstrakcyjnych metod, pomaga archiwizować abstrakcję.
Jaka jest różnica między pakietem a interfejsem w Javie?
Package to grupa powiązanych klas, które zapewniają ochronę dostępu i zarządzanie przestrzenią nazw. Interface jest typem referencyjnym podobnym do class, który jest zbiorem metod abstrakcyjnych. Package pomaga kategoryzować klasy w sposób metodyczny, w celu łatwego dostępu do nich i utrzymania ich. Z drugiej strony, Interface pomaga zaimplementować wiele dziedziczeń i osiągnąć abstrakcję. To jest główna różnica między pakietem a interfejsem w Javie. Ponadto sposób napisania pakietu jest pisany małymi literami, takimi jak java.util, java.awt. Jeśli nazwa interfejsu to Area, to jest zapisana w interfejsie Area.
Podsumowanie – pakiet a interfejs w Javie
Różnica między pakietem a interfejsem w Javie polega na tym, że pakiet pomaga metodycznie kategoryzować klasy, aby uzyskać do nich łatwy dostęp i łatwo je obsługiwać, podczas gdy interfejs pomaga zaimplementować wiele dziedziczeń i osiągnąć abstrakcję.