Czym jest pakiet Java w programowaniu
Abel Mitja Varela/E+/Getty Images
Programiści są zorganizowaną grupą, jeśli chodzi o pisanie kodu. Lubią układać swoje programy tak, aby przebiegały w logiczny sposób, wywołując oddzielne bloki kodu, z których każdy ma określone zadanie. Organizowanie pisanych przez nich zajęć odbywa się poprzez tworzenie pakietów.
Jakie pakiety są?
Pakiet umożliwia programiście grupowanie klas (i interfejsów) razem. Wszystkie te zajęcia będą w jakiś sposób powiązane – wszystkie mogą dotyczyć konkretnej aplikacji lub wykonania określonego zestawu zadań. Na przykład Jawa API jest pełne pakietów. Jednym z nich jest pakiet javax.xml. To i jego podpakiety zawierają wszystkie klasy w Java API związane z obsługą XML .
Definiowanie pakietu
Aby pogrupować klasy w pakiet, każda klasa musi mieć deklarację pakietu zdefiniowaną w górnej części jej . plik java . Dzięki temu kompilator wie, do którego pakietu należy klasa i musi być pierwszym wierszem kodu. Na przykład wyobraź sobie, że tworzysz prostą grę Battleships. Sensowne jest umieszczenie wszystkich potrzebnych klas w pakiecie zwanym pancernikami:
|_+_||_+_||_+_|
|_+_|
|_+_|
|_+_|
Każda klasa z powyższym opisem pakietu na górze będzie teraz częścią pakietu Battleships.
Zazwyczaj pakiety są przechowywane w odpowiednim katalogu w systemie plików, ale możliwe jest przechowywanie ich w bazie danych. Katalog w systemie plików musi mieć taką samą nazwę jak pakiet.
To tam przechowywane są wszystkie klasy należące do tego pakietu. Na przykład, jeśli pakiet pancerników zawiera klasy GameBoard, Ship, ClientGUI, to w katalogu z nazwami pancerników będą przechowywane pliki o nazwach GameBoard.java, Ship.java i ClientGUI.java.
Tworzenie hierarchii
Organizowanie zajęć nie musi odbywać się tylko na jednym poziomie. Każdy pakiet może mieć dowolną liczbę podpakietów. Aby odróżnić pakiet i podpakiet, '.' jest umieszczana pomiędzy nazwami pakietów.
Na przykład nazwa pakietu javax.xml wskazuje, że XML jest pakietem podrzędnym pakietu javax. To nie koniec, w XML jest 11 podpakietów: bind, crypto, datatype, namespace, parsery, soap, stream, transform, validation, ws i XPath.
Katalogi w systemie plików muszą być zgodne z hierarchią pakietów. Na przykład klasy w pakiecie javax.xml.crypto będą znajdować się w strukturze katalogów ..javaxxmlcrypto.
Należy zauważyć, że utworzona hierarchia nie jest rozpoznawana przez kompilator. Nazwy pakietów i podpakietów pokazują związek, jaki klasy, które zawierają, mają ze sobą.
Ale jeśli chodzi o kompilator, każdy pakiet jest odrębnym zestawem klas. Nie widzi klasy w podpakietu jako części swojego pakietu nadrzędnego. To rozróżnienie staje się bardziej widoczne, jeśli chodzi o korzystanie z pakietów.
Pakiety nazewnictwa
Istnieje standardowa konwencja nazewnictwa pakietów. Nazwy powinny być pisane małymi literami. W przypadku małych projektów, które mają tylko kilka pakietów, nazwy są zazwyczaj prostymi (ale znaczącymi!) nazwami:
|_+_||_+_|
|_+_|
W firmach programistycznych i dużych projektach, gdzie pakiety mogą być importowane do innych klas, nazwy muszą być charakterystyczne. Jeśli dwa różne pakiety zawierają klasę o tej samej nazwie, ważne jest, aby nie było konfliktu nazw. Odbywa się to poprzez upewnienie się, że nazwy pakietów są różne, rozpoczynając nazwę pakietu od domeny firmy, zanim zostanie podzielona na warstwy lub funkcje:
|_+_||_+_||_+_|