Na pierwszy strzał idzie wyjaśnienie jednej z kilku nieścisłości, które pojawiły się w tym artykule. Pakiety w języku Java są szeroko wykorzystywane tylko nie każdy wie z jakich powodów. Może Wy jesteście zainteresowani dlaczego stosujemy pakiety i jakie są zasady ich stosowania?

UWAGA!!!

Ze względu na stwarzanie problemów przez Joomlę z powodu korzystania z samego słowa "Java" pisanego z małej litery, będę przez całość artykułu posługiwał się tą nazwą pisaną wielką literą. Przepraszam za utrudnienia jednak to prawdopodobnie wynika z kolizji nazw i Joomla musi jakoś korzystać z tego słowa podczas przetwarzania treści artykułu.

PAKIETY W JĘZYKU JAVA. DEFINICJA I POWODY ICH TWORZENIA

Pakiet stanowi grupę czy też podzbiór utworzonych klas celem posegregowania ich według zastosowania. Działa to identycznie jak ma to miejsce w drzewie katalogów. Filmy pakujemy do filmów, obrazki do obrazków, a skróty do programów jeśli nie mieszczą się na pulpicie, to też powinniśmy znaleźć dla nich folder. W Javie wcale nie jest inaczej, aczkolwiek trzeba wiedzieć, że to NIE JEST jedyny powód ich stosowania.

Jeśli zajrzymy do dokumentacji, to widzimy, że wszystko zbudowane z rąk firmy "Sun Microsystems" ma swoje miejsce i swój własny pakiet. A ten pakiet może mieć własne inne pakiety i dopiero te "podpakiety" mogą dysponować klasami. Słynne "ArrayList" na przykład pochodzi z pakietu "util" (skrót od "utilities"), a ten pakiet z kolei "należy" do rodziny wszystkich pakietów, "Java". W ten sposób mamy ten sam ciąg, który widzimy wielokrotnie podczas importowania, "Java.util.ArrayList".

Gdy korzystaliśmy z "BufferedReader" to też musieliśmy zaimportować stosowny pakiet (nie bibliotekę!). Zatem sięgaliśmy do "Java", "io" i tam mieliśmy "BufferedReader". Pakiety w języku Java są wykorzystywane jeszcze z jednego powodu: minimalizują szansę na wystąpienie kolizji nazw! Jest pewne na 99%, że pracując w zespole ktoś wymyśli taką samą nazwę jak Wy. Zatem trzeba nasz pakiet osadzić w większy pakiet, który będzie miał bardziej unikatową nazwę. Odradzam wszelkich samowolek. Tak się składa, że wprowadzono obowiązującą konwencję nazewniczą. Nie muszę dopisywać, że wskazane jest jej trzymanie się!

PRZYJĘTA KONWENCJA NAZEWNICZA DLA PAKIETÓW

Przyjęło się, że pakiety w języku Java powinny mieć strukturę nazewniczą w postaci odwróconej nazwy naszej domeny. Dlatego mogliście ujrzeć na obrazku:

pl.jasonxiii.Serialization

ponieważ zastosowałem nazwę "pl.jasonxiii.[nazwa klasy]". Tę samą postać przyjmowały klasy "Main" oraz "Point" w tym artykule. Dzięki temu, jest możliwość zminimalizowania występowania kolizji nazw w przypadku, gdyby ktoś inny na przykład zaimportował mój pakiet i też zbudowałby klasę o tej samej nazwie "Serialization". Mimo tego, że klasy nosiłyby tę samą nazwę, to wyróżniają je struktury pakietów i w ten sposób problem znika.


To było wyjaśnienie czysto teoretyczne. Wrócimy jeszcze potem do tego tematu, gdyż umiejętność tworzenia własnych pakietów to już zupełnie inna wiedza. Pakiety w języku Java muszą być wykorzystywane w KAŻDYM Waszym programie i należy to robić z głową.

PODOBNE ARTYKUŁY