Читайте также:
|
|
Пакети
Мета роботи: отримання практичних навичок програмування задач з використанням пакетів для ізольованого зберігання класів.
Завдання: Нехай у пакеті pack1 визначені три класи: Prot, Deriv і X. Клас Deriv є підкласом класу Prot. Клас Х не є ні підкласом ні суперкласом.
У класі Prot визначені чотири змінні зі всіма можливими правами доступу:
int n=1;
private int n_pri=2;
protected int n_pro=3;
public int n_pub=4;
Класи Deriv і Х використовують всі ці змінні наскльки це можливо.
Нехай у пакеті pack2 визначені два класи Prot2 і Demo. Клас Prot2 є підкласом класу Prot, а клас Demo не залежить від Prot. Ці класи також у міру можливості використовують змінні класу Prot.
Продемонструвати призначення доступа до елементів класу Prot із різними модифікаторами із класів Prot, Deriv, X пакету pack1 і класів Prot2 та Y пакету pack2.
Використовувати клас Prot як головний клас програми з пакету pack1, а клас Demo - як головний клас програми з пакету pack2.
Вигляд екрану працюючого додатка може бути такий:
Основні теоретичні положення:
Пакети служать для ізольованого зберігання класів. Вони розв’язують дві важливі задачі.
По-перше, створюють простори імен класів, обмежені рамками пакета. Це дозволяє програмісту, який розробляє деякий модуль програми, розташований в створених їм пакетах, не пілкуватися про узгодження введених імен з іменами класів, що знаходяться в інших пакетах, і які знадобиться використовувати.
По-друге, обмежують доступ до елементів класу рамками пакета. Природно припустити, що набір класів, що входять в один пакет, розробляється одним програмістом або групою програмістів, тісно взаємодіючих. Тому елементи одного пакета мають право мати привілейований доступ до членів класів цього ж пакета.
Всі варіанти доступу до членів класу в одному і різних пакетах наведені в таблиці.
Таблиця 1. Варіанти доступу до членів класу
private | Без спеціфікатора | protected | public | |
Той же клас | Доступний | Доступний | Доступний | Доступний |
Підклас в тому ж пакеті | Недоступний | Доступний | Доступний | Доступний |
Не підклас в тому ж пакеті | Недоступний | Доступний | Доступний | Доступний |
Підклас в іншому пакеті | Недоступний | Недоступний | Доступний | Доступний |
Не підклас в іншому пакеті | Недоступний | Недоступний | Недоступний | Доступний |
Для створення пойіменованого пакета достатньо на початку файла програми записати оператора
package ім’я пакета;
У даному випадку файл, що містить такий опис пакета, а також і інші файли, що належать цьому ж пакету, мають зберігатися в одному каталозі з ім’ям, збіжним з ім’ям пакета.
Наприклад, файли, де визначені оператори вигляду package Pack1; усі повинні знаходится в каталозі Pack1.
Є можливість створити ієрархію пакетів. Для цього потрібно записати послідовність імен пакетів, розділених крапками:
package ім’я_пакета[.ім’я_пакета[.ім’я_пакета[…]]];
Наприклад, пакет, визначений як
package level1.level2.level3
має знаходитися в каталозі level1\level2\level3.
Контрольні запитання і завдання:
Дата добавления: 2015-09-11; просмотров: 78 | Поможем написать вашу работу | Нарушение авторских прав |