Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Оголошення пакету

Пакети

План

Інтерфейси

Концепція абстрактних методів дозволяє запропонувати альтернативу множинного спадкоємства. В Java клас може мати тільки одного батька, оскільки при множинному спадкуванні можуть виникати конфлікти, які заплутують об'єктну модель.

Всі ці проблеми не виникають у тому випадку, якщо успадковуються тільки абстрактні методи від декількох батьків. Навіть якщо успадковано кілька однакових методів, усе одне в них немає реалізації й можна один раз описати тіло методу, яке буде використовуватися при виклику будь-якого з цих методів.

Саме так влаштовані інтерфейси в Java. Від них не можна породжувати об'єкти, алі інші класи можуть реалізовувати їх.

Таким чином, Java надає гнучку й потужну модель об'єктів, що дозволяє проектувати найскладніші системи. Необхідно добрі розбиратися в її основних властивостях та механізмах - успадкування, статичні елементи, абстрактні елементи, інтерфейси, поліморфізм, розмежування доступу та інші. Всі смороду дозволяють уникати дублюючого коду, полегшують розвиток системи, додавання нових можливостей та зміна старих, допомагають забезпечувати мінімальну зв'язність між частинами системи, тобто підвищують модульність. Також вдалі технічні рішення можна багаторазово використовувати в різних системах, скорочуючи й спрощуючи процес їх створення.

Для досягнення таких важливих цілей потрібно не тільки знання Java, алі й володіння об'єктно-орієнтованим підходом, основними способами проектування систем та перевірки якості архітектурних рішень. Платформа Java є основою й вельми зручним інструментом для застосування всіх цих технологій.


 

Тема 9 Імена, пакети. Оголошення класів

1 Імена. Прості й складені імена. Елементи

2 Облалсть видимості

3 Пакети

4 Оголошення класу

5 Іморт-вирази

6 Унікальність імен пакетів

7 Призначення модифікаторів доступу

8 Тіло класу

 

1 Імена. Прості й складені імена. Елементи

Імена бувають простими (simple), що складаються з одного ідентифікатора (вони визначаються під час оголошення) і складними (qualified), що складаються з послідовності ідентифікаторів, розділених крапкою. Для пояснення цих термінів необхідно розглянути ще одне поняття.

У пакетів і вказівних типів (класів, інтерфейсів, масивів) є елементи (members). Доступ до елементів здійснюється за допомогою виразу, що складається з імен, наприклад, пакету й класу, розділених крапкою.

Далі класи та інтерфейси будуть називатися об'єднуючим терміном тип (type).

Елементами пакету є класи та інтерфейси, що містяться в ньому, а також вкладені пакети. Щоб отримати складене ім'я пакету, необхідно до повного імені пакету, у якому він розташовується, додати крапку, а потім його власне просте ім'я. Наприклад, складене ім'я основного пакету мови Java - java.lang (тобто просте ім'я цього пакету lang, і він знаходиться в загальному пакеті java).

Просте ім'я класів та інтерфейсів дається при оголошенні, наприклад, Object, String, Point. Щоб отримати складене ім'я таких типів, треба до складеного імені пакету, у якому знаходиться тип, через крапку додати просте ім'я типу. Наприклад, java.lang.Object, java.lang.reflect.Method або com.myfirm.MainClass. Для вказівних типів елементами є поля й методи, а також внутрішні типи (класи та інтерфейси). Елементи можуть бути як безпосередньо оголошені в класі, так і отримані в спадок від батьківських класів і інтерфейсів, якщо такі є. Просте ім'я елементів також дається при ініціалізації. Наприклад, toString (), PI, InnerClass. Складене ім'я виходить шляхом об'єднання простого чи складеного імені типу, або змінною об'єктного типу з ім'ям елемента. Наприклад, ref.toString (), java.lang.Math.PI, OuterClass.InnerClass. Інші звернення до елементів вказівних типів вже неодноразово застосовувалися в попередніх розділах.

2 Область видимості

Щоб не змушувати програмістів, які працюють разом над різними класами однієї системи, координувати імена, які вони дають різним конструкціям мови, у кожного імені є область видимості (scope). Якщо звернення, наприклад, до поля, йде з частини коду, що потрапляє в область видимості його імені, то можна користуватися простим ім'ям, якщо ні - необхідно застосовувати складене.

Програма на Java являє собою набір пакетів (packages). Кожен пакет може включати вкладені пакети, тобто смороду утворюють ієрархічну систему.

Крім того, пакети можуть містити класи та інтерфейси й таким чином групують типи. Це необхідно відразу для кількох цілей. По-перше, чисто фізично неможливо працювати з великою кількістю класів, якщо вони «звалені в купу». По-друге, модульна декомпозиція полегшує проектування системи. До того ж, як буде показано нижче, існує спеціальний рівень доступу, що дозволяє типам з одному пакету більш тісно взаємодіяти один з одним, ніж з класами інших пакетів. Таким чином, за допомогою пакетів проводиться логічне групування типів. З ООП відомо, що велика зв'язність системи, тобто середня кількість класів, з якими взаємодіє кожний клас, помітно ускладнює розвиток і підтримку такої системи. Використовуючи пакети, набагато простіше організувати ефективну взаємодію підсистем один з одним.

Нарешті, кожен пакет має свій простір імен, що дозволяє створювати однойменні класи в різних пакетах.

Воно записується за допомогою ключового слова package, після якого вказується повна назва пакету. Наприклад, першим рядком (після коментарів) у файлі java / lang / Object.java йде:

 

package java.lang;

 

Це одночасно слугує оголошенням пакету lang, вкладеного в пакет java, і вказівкою, що оголошений нижче клас Object знаходиться в даному пакеті. Так складається повне ім'я класу java.lang.Object.

Якщо цей вислів відсутній, те такий модуль компіляції належить безіменному пакету. Цей пакет за замовчуванням обов'язково повинен підтримуватися реалізацією Java-платформи. Зверніть увагу, що він не може мати вкладених пакетів, так як складене ім'я пакету має обов'язково починатися з імені пакета верхнього рівня.

Пакет за замовчуванням був введений в Java для полегшення написання дуже невеликих або тимчасових програм, для експериментів. Якщо ж програма буде поширюватися для користувачів, то рекомендується розташувати її в пакеті, який, у свою чергу, повинен бути правильно названо.


Читайте також:

  1. Визнання громадянина безвісно відсутнім і оголошення громадянина померлим.
  2. Визначення фізичної особи безвісно відсутньою та оголошення її померлою.
  3. Визначте пріоритетні напрями освітньої, наукової і промослової політики України після проголошення її незалежності.
  4. Визначте пріоритетні напрями освітньої, наукової і промослової політики України після проголошення її незалежності.
  5. Дослідження схем за допомогою пакету Micro-Cap
  6. Жовтневі події 1917 року в Києві. Проголошення Української Народної Республіки.
  7. Жовтневі події 1917 року в Києві. Проголошення Української Народної Республіки.
  8. Звалювально-пакетувальні машини
  9. Зовнішня політика України після проголошення незалежності. Відносини України з країнами СНД
  10. ІІІ Універсал Центральної Ради та проголошення Української Народної Республіки
  11. ІУ Універсал Центральної Ради. Проголошення незалежності УНР.
  12. Й Всеукраїнський з'їзд Рад. Проголошення Радян­ської влади.




Переглядів: 578

<== попередня сторінка | наступна сторінка ==>
Ключове слово abstract | Імпорт-вирази

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.006 сек.