Page 95 - 4836
P. 95

різних  пакетах.  Таким  чином,  розробникам  не  доводиться
                            витрачати час на вирішення конфлікту імен.

                                   Елементи пакета
                                   Ще  раз  повторимо,  що  елементами  пакету  є  вкладені
                            пакети  і  типи  (класи  та  інтерфейси).  Однойменні  елементи
                            заборонені,  тобто  не  може  бути  однойменних  класу  і
                            інтерфейсу, або вкладеного пакету і типу. В іншому випадку
                            виникне помилка компіляції.
                                   Складене ім'я будь-якого елементу пакету - це складене
                            ім'я цього пакету плюс просте ім'я елемента. Наприклад, для
                            класу  Object  в  пакеті  java.lang  складовим  ім'ям  буде
                            java.lang.Object,  а  для  пакета  image  в  пакеті  java.awt  -
                            java.awt.image.
                                   Ієрархічна  структура  пакетів  була  введена  для
                            зручності  організації  пов'язаних  пакетів,  однак  вкладені
                            пакети, або сусідні, тобто вкладені в один і той ж самий пакет,
                            не  мають  ніяких  додаткових  зв'язків  між  собою,  крім
                            обмеження на розбіжність імен. Наприклад, пакети space.sun,
                            space.sun.ray, space.moon і factory.store абсолютно "рівні" між
                            собою  і  типи  одного  з  цих  пакетів  не  мають  ніякого
                            особливого доступу до типів інших пакетів.
                                   Найпростішим  способом  організації  пакетів  і  типів  є
                            звичайна  файлова  структура.  Розглянемо  виразний  приклад,
                            коли  всі  пакети,  вихідний  і  бінарний  код  розташовуються  в
                            одному каталозі і його підкаталогах.
                                   У цьому кореневому каталозі повинна бути папка java,
                            відповідна  основного  пакета  мови,  а  в  ній,  у  свою  чергу,
                            вкладені папки applet, awt, io, lang, net, util.
                                   Припустимо, розробник працює над моделлю сонячної
                            системи,  для  чого  створив  класи  Sun,  Moon  і  Test  та
                            розташував  їх  у  пакеті  space.sunsystem.  У  такому  випадку  в
                            кореневому  каталозі  повинна  бути  папка  space,  відповідна






                                                           93
   90   91   92   93   94   95   96   97   98   99   100