Jason. Cała informatyka w jednym miejscu!

Kolejnym tematem jakim spróbuję Was zainteresować to słowo kluczowe "package" w języku Kotlin i sama istota korzystania z pakietów. Jest bardzo ważną sprawą opakowywanie swojego kodu w pakiety. Tak ważną, że aż musicie zajrzeć do środka!

"PACKAGE" W JĘZYKU KOTLIN Z MYŚLĄ O PAKIETACH!

Pakiety w Kotlinie mają identyczne zastosowanie co w języku Java więc po szczegóły odeślę Was tam, a tutaj tylko napiszę krótko co to jest i wypunktuję dwa powody, dla których pakiety powinny być jak najczęściej używane.

CO TO JEST PAKIET?

Pakiet to zbiór plików źródłowych uporządkowanych według zastosowania, bądź intencji odzwierciedlanej przez jej nazwę. W praktyce to jest nic innego jak ciąg znaków reprezentujący strukturę katalogów. Pakiet o nazwie "goodies" oznaczać będzie składowanie określonych plików źródłowych w folderze "goodies". Kiedy w tym katalogu znajdować się będzie jeszcze jeden katalog noszący nazwę "serious", a w nim jakiś plik źródłowy, to ten plik będzie wówczas należał do pakietu "goodies.serious" (nazwy odseparowane kropką). Moim zdaniem, kwestia prosta do zrozumienia.

ZASTOSOWANIE PAKIETÓW W PRAKTYCE

Istnieją DWA najważniejsze powody ich wykorzystywania:

  1. podział na pakiety sprzyja organizacji kodu i umożliwia posortowanie plików według określonego kryterium np. kod rysujący grafikę znajduje się w pakiecie "graphics"
  2. podział na pakiety redukuje szansę na powstanie kolizji nazw pomiędzy klasą w jednym pliku, a klasą w drugim pliku, a klasy nazywają się tak samo

Po więcej detali (szczególnie w sprawie odpowiedniego nazewnictwa takich struktur), seryjnie zapraszam do tego samego tematu tylko przypisanego do Javy, gdyż wszystkie informacje tam zawarte, są prawdziwe również dla Kotlina!

ZNAK ROZPOZNAWCZY W KODZIE ŹRÓDŁOWYM

Gdy mowa jest o pakiecie w kodzie źródłowym, to do akcji wkracza słowo "package" w języku Kotlin. Nie uległo ono zmianie w porównaniu do Javy ani w kontekście zastosowania, ani słowa kluczowego. To jest "lampka" dla nas i dla kompilatora z którego dokładnie katalogu ten plik pochodzi. Przykład. Mamy taki fragment:

package folderA.foldera1

W powyższym przykładzie, instrukcja "package" składa się ze słowa kluczowego, a zaraz po nim jest wskazana lokalizacja do pliku poprzez serię katalogów zgodną z hierarchią plików występujących fizycznie na dysku. Zwróćcie uwagę, że nie jest to stricte łańcuch znaków gdyż nie wymaga cudzysłowów, choć istotnie jest to ciąg reprezentujący wskazanie ścieżki względnej do katalogu, jeden po drugim.

Bez względu na "przesiadywanie" pliku, występowanie "package" w języku Kotlin oznacza, że plik źródłowy występuje w określonym pakiecie, a ciąg musi reprezentować BEZBŁĘDNĄ ścieżkę katalogową. A co, jeśli takiej instrukcji nie ma? Wtedy plik zostaje potraktowany jak umieszczony w domyślnym pakiecie nienoszącym nazwy! To oznacza, że będzie widoczny z każdego innego miejsca w kodzie, co świetnie toruje drogę do powstania problemu kolizji nazw!

TWORZENIE WŁASNEGO PAKIETU

Aby utworzyć swój własny pakiet, wystarczy zrobić prostą rzecz. Trzeba zadbać, aby dany plik został wklejony do odpowiedniego katalogu w projekcie Kotlina. Dysponując programem "IntelliJIDEA" wszystko zrobi się automatycznie, bowiem wystarczy że przejdziemy do lewego okna ze strukturą plikową całego otwartego projektu, zaznaczymy prawym przyciskiem myszy na katalog "src" i z menu kontekstowego wybierzemy "New" i potem "Package". Po nadaniu dowolnej nazwy (choć STANOWCZO REKOMENDUJĘ trzymanie się odpowiedniej konwencji nazewniczej) i jej zatwierdzeniu, pakiet zostaje utworzony. Gdy teraz wprowadzicie dowolny plik źródłowy do tego właśnie pakietu, IDE dopisze automatycznie na górze instrukcję "package" w języku Kotlin wraz ze ścieżką odwzorowującą jak przejść po katalogach, aby móc ten plik odnaleźć.

Tworzenie pakietu w "IntelliJIDEA"

Tworzenie pakietu w "IntelliJIDEA" jest w dużej części zautomatyzowane i nie wymaga naszej interwencji w sprawie ręcznego przenoszenia plików źródłowych do odpowiednich katalogów.

"IntelliJIDEA" potrafi odwalić za nas czarną robotę jeśli chodzi o fizyczną organizację plików źródłowych w pakietach. Mam na myśli automatyczne korekty ścieżki do plików, kiedy zechcemy zmodyfikować lub wprowadzić lokalizację. Bez udziału IDE, musimy za każdym przenosić te pliki ręcznie z jednego katalogu do drugiego, co może łatwo doprowadzić do wariacji oraz błędów spowodowanych zmęczeniem bądź zagapieniem się.

IMPORT PAKIETU W INNYM PLIKU

Pakiet można też zaimportować! Przy pomocy instrukcji "import", odbywa się importowanie odpowiedniego pliku źródłowego lub całości pakietu, co sprzyja korzystaniu z kodu w innym pliku. Przy czym "package" w języku Kotlin nie ma z tym nic wspólnego! To słowo kluczowe jedynie sygnalizuje skąd ten plik został ściągnięty.

Słowo kluczowe "package" w języku Kotlin

Kiedy widnieje na samej górze słowo kluczowe "package", oznacza to że otwarty plik źródłowy pochodzi z podanego pakietu.


Jeden z kolejnych bezstresowych tematów dotyczący języka Kotlin jaki mamy za sobą! Osobiście Wam doradzam jak najczęstsze i jak najdokładniejsze "pakowanie" swoich plików źródłowych do wyszczególnionych pakietów, jakbyście chowali jakieś ważne dokumenty do odpowiednich szufladek, tak aby potem można było je bez problemu znaleźć.

PODOBNE ARTYKUŁY