О.М. Ткаченко, В.А. Каплун - PDF

Description
О.М. Ткаченко, В.А. Каплун 0 Міністерство освіти і науки України Вінницький національний технічний університет О.М. Ткаченко, В.А. Каплун ОБ ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ МОВОЮ JAVA Затверджено Вченою

Please download to get full document.

View again

of 78
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information
Category:

Presentations

Publish on:

Views: 24 | Pages: 78

Extension: PDF | Download: 0

Share
Transcript
О.М. Ткаченко, В.А. Каплун 0 Міністерство освіти і науки України Вінницький національний технічний університет О.М. Ткаченко, В.А. Каплун ОБ ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ МОВОЮ JAVA Затверджено Вченою радою Вінницького національного технічного університету як навчальний посібник для студентів напрямів підготовки 0804 Комп ютерні науки, 0915 Комп ютерні мережі, 1601 Інформаційна безпека. Протокол 2 від 28 вересня 2006 року Вінниця ВНТУ УДК Д 81 Р е ц е н з е н т и : А.М. Пєтух, доктор технічних наук, професор С.М. Москвіна, кандидат технічних наук, доцент С.М. Абрамчук, кандидат фізико-математичних наук, професор С.М. Москвіна, кандидат технічних наук, доцент Рекомендовано до видання Вченою радою Вінницького національного технічного університету Міністерства освіти і науки України Ткаченко О.М., Каплун В.А. Д 81 Об єктно-орієнтоване програмування мовою Java. Навчальний посібник. Вінниця: ВНТУ, с. Навчальний посібник присвячений об єктно-орієнтованій мові програмування Java 2. Послідовно викладаються практичні прийоми роботи з основними конструкціями мови, графічною бібліотекою класів, розширеною бібліотекою Java 2D. Наведені фрагменти програм ілюструють наведені прийоми програмування. Навчальний посібник призначений для студентів напрямів підготовки 0804 Комп ютерні науки, 0915 Комп ютерні мережі, 1601 Інформаційна безпека для вивчення дисципліни «Засоби програмування». УДК О.М. Ткаченко, В.А. Каплун, ЗМІСТ ВСТУП ОСНОВИ ПРОГРАМУВАННЯ МОВОЮ JAVA Загальні принципи об єктно-орієнтованого програмування Основні поняття мови JAVA. Перша програма Типи даних Поля і методи класів Пакети та інтерфейси ПАКЕТ JAVA.AWT: ІНТЕРФЕЙС КОРИСТУВАЧА ТА ОБРОБКА ПОВІДОМЛЕНЬ Реалізація інтерфейсу користувача Обробка повідомлень Приклад програми з інтерфейсом користувача ПОТОКИ. АПЛЕТИ. РАСТРОВІ ЗОБРАЖЕННЯ Створення потоків і керування ними Приклад програми для роботи з потоками Виняткові ситуації та їх обробка Аплети Створення растрових зображень Можливості Java 2D ОБРОБКА ФАЙЛІВ І СТВОРЕННЯ МЕРЕЖНИХ ПРОГРАМ Потоки та файли Створення мережних програм. Протоколи TCP/IP Робота з потоковими сокетами Використання сокетів UDP ЛІТЕРАТУРА ВСТУП Сучасні критерії якості програм це, перш за все, надійність, відповідність меті розробки, наявність адекватних реакцій на будь-які дії користувача. Для досягнення цих цілей програма повинна мати просту структуру, бути зручною для здійснення аналізу та модифікації. Цим вимогам відповідає структурне програмування технологія створення програм, яка дозволяє шляхом дотримання певних правил скоротити термін розробки і істотно зменшити кількість помилок. Структурний підхід до програмування дозволив успішно створювати досить великі проекти, але складність програмного забезпечення продовжувала неупинно зростати. Ідеї структурного програмування отримали свій подальший розвиток в об єктно-орієнтованому програмуванні технології, що дозволяє досягнути простоти як структури, так і зручної можливості керування складними програмними системами. Наразі немає особливої потреби переконувати когось в перевагах об єктно-орієнтованого підходу до розробки програм. Не тільки створення великих проектів, а навіть розуміння того, як працюють сучасні операційні системи, неможливе без досконалого знання принципів об єктно-орієнтованого програмування. Більше того, об єктний стиль розробки програм став своєрідним правилом хорошого тону в світі програмістів. Між тим, так було далеко не завжди. До 80-х років авторів цього посібника переконували в тому, що в найближчий час професія програміста стане непотрібною, оскільки ось-ось з являться технології автоматичного виробництва програм. На щастя для всіх тих, хто отримує насолоду від самого процесу програмування, ці прогнози не справдилися. Чому ж багато народу з радістю витрачає службовий і вільний час на складання програм? Мабуть, одною з причин є швидкість, з якою в галузі програмування впроваджуються нові ідеї та технології. Завжди на горизонті є щось новеньке. Мова Java, можливо, якнайкраще ілюструє попереднє твердження. Лише за кілька років Java пройшла шлях від концепції до однієї з найпопулярніших машинних мов. До того ж протягом нетривалого часу Java пройшла дві серйозні ревізії. Перша відбулася, коли на зміну версії 1.0 було випущено версію 1.1. Другу зміну пов язано з появою Java 2, яка розглядається в цьому посібнику. Перша робоча версія мови, що носила назву Oak, з явилася в компанії Sun Microsystems, Inc в 1991 році. Весною 1995 року, після внесення достатньо суттєвих змін, її було перейменовано в Java. Головним стимулом її створення була потреба в незалежній від платформи мові, яку можна було б використовувати для розробки програмного забезпечення 4 різноманітних електронних пристроїв: комп ютерів, мобільних телефонів, мікрохвильових печей тощо. Бурхливий розвиток Інтернет став додатковим фактором, що сприяв популярності Java, оскільки також вимагав розроблення програм, що легко переносяться. Створення мови Java це один із найзначніших кроків вперед в області розробки середовищ програмування за останні 20 років. Мова розмітки гіпертексту HTML (Hypertext Markup Language) була необхідна для статичного розміщення сторінок у Всесвітній павутині WWW (World Wide Web). Мова Java потрібна була для якісного стрибка в створенні інтерактивних продуктів для Інтернет. Швидке розповсюдження технології Java пов язано з тим, що вона використовує нові, спеціально розроблені можливості програмування, хоча і створена на базі мов SmallTalk, Pascal, C++ та інших, увібравши в себе найкращі риси згаданих мов і відкинувши найгірші. Багато властивостей Java отримала від C і C++. Проектувальники Java свідомо пішли на це, оскільки знали, що знайомий синтаксис робить мову привабливою для легіонів досвідчених програмістів C і C++. В той же час між Java і C++ існують суттєві практичні та філософські відмінності. Неправильно вважати Java і вдосконаленою версією мови C++, розробленою з метою її заміни. Це різні мови, кожна з яких вирішує своє коло проблем. Принципи об єктно-орієнтованого програмування, втілені в C++, були розширені та вдосконалені в Java. Однією з переваг мови Java є можливість працювати не тільки зі статичними текстами і графікою, але й з різноманітними динамічними об єктами. Крім того, важливою особливістю програмування мовою Java є незалежність розроблених програм від типу комп ютера, на якому працює користувач. Для Java немає різниці, використовується Macintosh, Pentium, Silicon Graphics чи Sun Workstation для Java-аплетів це не має ніякого значення. Вони зберігаються на головному вузлі таким чином, що можуть бути запущені для виконання на будь-якому комп ютері, де встановлено браузер, який підтримуватиме Java. Ще один важливий аргумент на користь Java відсутність потреби в наявності ліцензії на її використання. Хоча сторонні виробники пропонують платні інструментальні середовища для розробки та відлагодження Java-програм, на Webсервері фірми Sun завжди можна знайти та завантажити рідний безкоштовний варіант компілятора Java (Java Development Kit) разом з усім необхідним для створення програм. 5 1 ОСНОВИ ПРОГРАМУВАННЯ МОВОЮ JAVA 1.1 Загальні принципи об єктно-орієнтованого програмування Перш ніж розпочати вивчення мови Java, необхідно розглянути, що таке об єктно-орієнтоване програмування. Як ми знаємо, всі комп ютерні програми складаються з двох елементів: коду та даних. Відповідно будьяка програма може бути концептуально організована або навколо її коду, або навколо її даних. Іншими словами, деякі програми концентрують свою увагу на тому, що робиться з даними, а інші на тому, на що цей процес впливає. Існує декілька парадигм (ключових підходів), які управляють конструюванням програм. Перший підхід вважає програму моделлю, орієнтованою на процес (process-oriented model). При цьому програму визначають послідовності операторів її коду. Перші компілятори (наприклад, FORTRAN) підтримували процедурну модель програмування, в основі якої лежить використання функцій. Наступний етап розвитку пов язаний з переходом до стуктурної моделі програмування (до неї відносяться компілятори ALGOL, Pascal, C), в основі якого лежать такі положення: програми подаються у вигляді сукупності взаємопов язаних процедур і даних, якими ці процедури (або блоки) оперують. Тут широко використовуються процедурні блоки і мінімальне використання GOTO. Ці програми є більш прості. Такі мови програмування, як Pascal, C успішно використовують цю модель. Але тут часто виникають проблеми, коли зростає розмір і складність програм. Інший підхід, названий об єктно-орієнтованим програмуванням (ООП), було створено для управління зростаючою складністю програм. ООП організовує програму навколо її даних (тобто навколо об єктів) і набору чітко визначених інтерфейсів з цими даними. Об єктно-орієнтовану програму можна характеризувати як доступ до коду, що управляється даними (data controlling access to data). Як ми побачимо далі, такий підхід має деякі організаційні переваги. 1. Можна повторно використовувати код програми і таким чином економити час на розробку. 2. Програми з використанням ООП добре структуровані, що дозволяє добре розуміти, які функції виконують окремі підпрограми. 3. Програми з використанням ООП легко тестувати і модифікувати. Можна розбити програму на компоненти і тестувати роботу кожної з них. Всі мови ООП забезпечують механізми, які допомагають реалізувати об єктно-орієнтовану модель. До них відносять абстракцію, інкапсуляцію, успадкування і поліморфізм. Також їх часто називають основними принципами ООП. 6 Абстракція та інкапсуляція Абстракція даних введення типів даних, визначених користувачем і відмінних від базових. Ця концепція полягає у можливості визначати нові типи даних, з якими можна працювати так само, як і з основними типами даних. Крім того, абстракція має місце і при застосуванні шаблонів, тобто введенні абстрактних типів даних, які в залежності від умов їх застосування приймають той або інший тип. Інкапсуляція це механізм, який пов язує код з даними, що ним обробляються, та зберігає їх як від зовнішнього впливу, так і від помилкового використання. Інкапсуляцію можна уявити як захисну оболонку, яка запобігає доступу до коду та даних з іншого коду, що знаходиться зовні цієї оболонки. Доступ до коду та даних всередині оболонки відбувається через чітко визначений інтерфейс. Потужність такого підходу полягає у тому, що кожен знає, як отримати доступ до інкапсульованого коду, і може користуватися ним незалежно від деталей його реалізації та без побоювання несподіваних наслідків. Основою абстракції та інкапсуляції в Java є клас. Клас визначає структуру та поведінку (дані і код) деякого набору об єктів. Кожен об єкт заданого класу містить як структуру (дані), так і поведінку, що визначається класом (так, як би ці об єкти було проштамповано шаблоном у формі класу). Тому об єкт іноді ще називають екземпляром класу. Таким чином, клас це логічна конструкція, а об єкт це фізична реальність. При створенні класу необхідно специфікувати код і дані, що складають цей клас. Разом всі ці елементи називають членами (members) класу. Дані, що визначаються в класі, називають змінними-членами (member variables) або полями класу. Код, який оперує цими дан
Related Search
Similar documents
View more...
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks