- •Тема 1. Вступ до дисципліни
- •Тема 2. Управління ходом дій операторів програми
- •Тема 3. Ініціалізація та завершення дії змінних
- •Тема 4. Реалізація і специфікатори доступу
- •Тема 5. Успадкування в Java та його особливості
- •2. Розробка програмних систем складної структури
- •Тема 10. Створення вікон і аплетів
- •Тема 11. Розподільне програмування
- •1. Вступ до мовного середовища. Ознайомлення з мовним середовищем. Початкові відомості про мовне середовище java
- •1.1. Виконання Java-програми
- •Питання і завдання
- •1.4. Інтегроване середовище jBuilder
- •2. Постулати об'єктно-орієнтованого програмування
- •2.1. Модель і абстракція
- •2.2. Ієрархія та успадкування
- •2.4. Класи, їх структура та зміст
- •3. Управління ходом дії операторів програми
- •Питання і завдання
- •4.1. Ініціалізація за допомогою конструктора
- •4.2. Конструктор без параметрів
- •4.3. Перевантаження методів
- •4.4. Ініціалізація членів класу
- •5. Реалізація
- •6. Успадкування в java та його особливості
- •Завдання для самостійного опрацювання теми
- •7. Динамічне зв'язування (поліморфізм)
- •Завдання для самостійного опрацювання теми
- •8. Інтерфейси та внутрішні класи
- •Завдання для самостійного опрацювання теми
- •9. Обробка помилок і виключних ситуацій
- •Завдання для самостійного опрацювання теми
- •10. Система вводу/виводу в java
- •Завдання для самостійного опрацювання теми
- •Програма DirList.Java
- •11. Створення вікон і аплетів
- •Завдання для самостійного опрацювання теми
- •12. Створення додатків windows
- •12.1. Сім'я операційних систем Windows
- •12.2. Структура додатка Windows
2. Розробка програмних систем складної структури
Тема 9. Система вводу-виводу в Java
Клас File: внутрішні класи, які не мають імені, створення директорій. Ввід/вивід: типи вхідних потоків InputStream, типи вихідних потоків OutputStream, додаток властивостей і корисних інтерфейсів; читання з вхідного потоку за допомогою Filterlnput-Stream. Запис у вихідний потік за допомогою FilterOutputStream. Класи для читання і запису даних: Reader, Writer. Типове використання потоків вводу/виводу: вхідні та вихідні потоки. Стандартний ввід/вивід; стиснення даних. Архіви Java.
Тема 10. Створення вікон і аплетів
Простий аплет: обмеження аплетів, переваги аплетів, каркаси додатків. Запуск аплетів у Wеb-броузері. Використання інструменту Appletviewer. Тестування аплетів. Запуск аплетів із командного рядка. Інструмент для показу програм на екрані. Використання Провідника Windows. Створення кнопки. Обробка подій. Багаторядкові текстові поля. Управління розташуванням компонентів. Полярне, послідовне, табличне, абсолютне і блочне розташування. Модель подій бібліотеки Swing: типи подій, обробка кількох подій одночасно. Каталог компонентів бібліотеки Swing: кнопки, значки, підказки, рамки, прапорці, комбіновані списки тощо.
Тема 11. Розподільне програмування
Програмування в мережах. Ідентифікація машини. Сервери та клієнти. Сокети. Простий сервер і клієнт. Обслуговування вільної кількості клієнтів. Використання адресів URL з аплету. Читання файла із сервера. Мова Java і бази даних (драйвер JDBC). Серв-лети і багатозадачність. Обробка сеансів. Серверні сторінки Java (JSP) (ЗБР). Система CORBA.
1. Вступ до мовного середовища. Ознайомлення з мовним середовищем. Початкові відомості про мовне середовище java
Виконання Java-програми.
Склад і використання Java Development (JDK).
Набір Java Runtime Environment (JRE) і його вста новлення.
Інтегроване середовище JBuilder.
1.1. Виконання Java-програми
Існує класична технологія виконання програми, написаної мовою високого рівня. По-перше, програма будь-якою мовою, написана програмістом, має назву початковий модуль (source). Цю програму не можна відразу виконати. її необхідно спочатку скомпілювати — перетворити на об'єктний модуль. Але й об'єктний модуль, як правило, не можна виконати без залучення бібліотек і перехресних посилань між його секціями. По-друге, після повторної компіляції із секціями та бібліотеками дістанемо завантажений (виконавчий) модуль.
Початковий модуль мовою Java має деякі особливості. Програма мовою Java компілюється безпосередньо в машинні команди, але це команди не якогось конкретного процесора, а так званої віртуальної машини Java (Java Virtual Machine — JVM). Віртуальна машина Java — це сукупність команд разом із системою їх виконання. Команди JVM називають байт-кодами. Зазначена компіляція не залежить від типу конкретного процесора й архітектури конкретного комп'ютера. її можна виконати один раз безпосередньо після написання програми.
Байт-коди записуються в один або кілька файлів і можуть зберігатися в зовнішній пам'яті або передаватися по мережі. Потім отримані байт-коди можна виконувати на будь-якому комп'ютері, що має систему реалізації JVM (рис. 1.1).
Файл класу
Початковий файл Компілятор
Інші класи Рис. 1.1. Компіляція Java-програми у файл *.class
Інша особливість Java полягає в тому, що всі стандартні функції, які викликаються в програмі, підключаються до неї тільки на етапі виконання і не включаються до байт-коду. У такий спосіб відбувається динамічне компонування, що зменшує обсяг компільованої програми.
Унаслідок динамічного компонування та інтерпретації байт-кодів значно зменшується швидкість виконання програм. Щоб підвищити швидкість інтерпретації, розроблено ЛТ-компілятори (Just-In-Time), які інтерпретовані ділянки коду в машинних командах запам'ятовують, а далі виконують їх, наприклад у циклах. Крім реалізації JVM для виконання байт-кодів необхідно мати набір функцій, які викликаються з байт-кодів і динамічно компонуються з байт-кодами. Цей набір оформлюють у вигляді бібліотеки класів Java як один або кілька пакетів. Сукупність необхідних нормальних інструментів для повного циклу роботи з мовою програмування Java — компіляції, інтерпретації, налагодження та бібліотека класів — має назву JDK (Java Development Kit).
Питання і завдання
Що таке Java: мова чи технологія? Дати визначення.
Дати визначення додатка. Навести приклад.
Запуск додатків на різних платформах.
Запуск додатка кінцевим користувачем.
1.2. Склад і використання JDK
Компанія Sun Microsystems пропонує такий набір програм і класів JDK:
компілятор Javac з початкового тексту в байт-коди;
інтерпретатор Java, який містить реалізацію JVM;
програма перегляду аплетів appletviewer;
налагоджувач jdb;
дизасемблер Javap;
програму архівації та стиснення jar;
програму збору документації javadoc;
програму javah генерації заголовкових файлів мови С;
програма javakey додавання електронного підпису;
програма native2ascii, що перетворює бінарні файли в текстові;
програми rтіс та rmiregistry для роботи з віддаленими об'єк- тами;
програму serialver, яка визначає нoмер версії класу;
бібліотеки та заголовкові файли «рідних» методів ;
бібліотеку класів Java API.
Установлення JDK. Існування ліцензійного компакт-диска з набором JDK дає змогу встановити цей комплекс на будь-якому комп'ютері. Для цього слід запустити файл з архіву на виконання. У вікні встановлення буде запропоновано вибрати стандартний каталог (directory) установлення C:\jdkl.3. Якщо вказується інший каталог, то потрібно виконати певні дії. По-перше, слід після встановлення перевірити значення змінної PATH. Ця змінна повинна мати повний шлях до підкаталога від цього каталога. Якщо він відсутній, то потрібно його створити. Наприклад: C:\jdkl.3\bin. Також слід визначити і спеціальну змінну CLASSPATH, яка вказує шляхи до архівних файлів і каталогів із бібліотеками класів. Системні бібліотеки 2 підключаються автоматично без змінної CLASSPATH.
Зауважимо: zip- та jar-архіви розпаковувати не потрібно.
Закінчивши встановлення набору JDK, отримаємо каталоги jdkl.3 з підкаталогами:
bin — містить виконувальні файли;
demo — містить приклади програм;
docs — містить установлену документацію;
include — містить заголовкові файли «рідних» методів і фай ли з кодом мов С, C++;
old-include — містить файли сумісності з попередніми вер сіями;
lib — містить бібліотеки класів і файли властивостей;
src — містить початкові тексти програм JDK; замість ката- лога в нових версіях існує упакований файл src.jar.
Зауваження. Набір JDK містить початкові тексти своїх програм, написаних мовою Java. Це дає змогу отримати інформацію про будь-який викликаний метод.
Використання JDK. Набір JDK зорієнтовано на виконання програм з командного рядка вікна MS-DOS Prompt в Windows 95/98/МЕ або вікна Command Promt в Windows NT/2000/XP У системі UNIX можна працювати і в текстовому режимі, і у вікні Xterm.
Програму мовою Java можна написати в будь-якому текстовому редакторі: Notepad, Wordpad у MS Windows, редакторах vi, emacs y UNIX. Після цього слід зберегти програму у файлі з розширенням Java.
Наприклад, використовуючи пакет JDK1.3, виконуємо таку послідовність дій:
• запускаємо емулятор DOS (комбінація клавіш Ctrl + R і ко- манда CMD) та перехід у каталог \bin пакета JDK1.3);
засобами Dos створюємо файл: copy con Display.java <ENTER> <Ctrl + Z>;
редагуємо даний файл: edit Display.java;
• остаточний вигляд нашого файла повинен бути таким: import java.util.*;
import java.lang.*; public class Display {
private static String s;
public static void main (String [] args) {
System.out.println («I'am very glad to see you» +args [0]);
}
}
далі компілюємо файл Display.java у байт-код, набираючи команду javac Display.java;
скомпільований файл можемо виконати за допомогою іншої команди: Java Display YURIY;
• на екрані з'явиться напис: I'ат very glad to see you YURIY. Якщо робота з командною строкою не дуже зручна, для роз робки програм використовується інтегроване середовище.
Інтегроване середовище Java. Вибір будь-якого засобу розробки програми мовою Java залежить, по-перше, від технічних можливостей комп'ютера; по-друге, від особистих уподобань користувача; по-третє від того, наскільки користувач практично опанував конкретний компілятор, вбудований у програмний продукт.
Серед відомих інтегрованих середовищ, які містять JDK, слід віднести:
Java Workshop фірми Sun Microsystems;
JBuilder фірми Inprise;
Visual Age for Java фірми IBM;
інші.
Ці програмні продукти можна встановлювати без JDK.
Питання і завдання
Описати технологію установлення JDK будь-якої версії.
Створити Java-додаток. Описати послідовність створення і виконання Java-додатка.
Створити будь-який аплет і запустити його на виконання.
1.3. Набір Java Runtime Environment (JRE)
Для досягнення машинної незалежності програм, написаних мовою Java, компілятор виконує перехід програми в проміжний код — байт-код. Такий код машино-незалежний, формується відповідно до специфікацій JVM і виконується однаково — незалежно від платформи. Інтерпретатор мови Java виконує скомпільований байт-код на апаратній платформі, використовуючи необхідні класи. Одна програма містить кілька модулів байт-коду — класів. Якщо Java-програма складається з кількох класів, то при компіляції буде створено таку саму кількість модулів: один клас — один модуль байт-коду (див. рис. 1). JVM є частиною більш розширеного набору програм, який має назву середовище виконання Java-програм (Java Runtime Environment — JRE). JRE включено до складу популярних броузерів Internet, таких як Microsoft Internet Explorer та Netscape Navigator. Для запуску вашого Java-додатка кінцевим користувачем у останнього має бути JRE. У перекладі JDK існує JRE. Але кінцеві користувачі можуть окремо завантажити її.
Пропозиція. Потрібно створити командний файл *.but, до складу якого внести запуск інтерпретатора Java і ваш додаток. Тоді для запуску додатка слід натиснути двічі на піктограму командного файла.
При виконанні самостійного Java-додатка завантаження JVM виконується з командного рядка за допомогою утиліт пакета JDK Java.
При виконанні Java байт-коду з HTML-сторінки завантаження JVM здійснює Web-броузер. Тому JVM, яка виконується в середовищі Web-броузера перед завантаженням Java байт-коду (апле-та), контролює захист доступу до системних ресурсів.