Технология разработки объектно-ориентированных программ на JAVA
Покупка
Основная коллекция
Тематика:
Программирование на Java
Издательство:
Новосибирский государственный технический университет
Год издания: 2012
Кол-во страниц: 152
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7782-1973-1
Артикул: 636325.01.99
Тематика:
УДК:
ОКСО:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство образования и науки Российской Федерации НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ И.А. ВАСЮТКИНА ТЕХНОЛОГИЯ РАЗРАБОТКИ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ПРОГРАММ НА JAVA Учебно-методическое пособие НОВОСИБИРСК 2012
УДК 004.434(075.8) В 206 Рецензенты: АП. Малявко, канд. техн. наук, доц. А.В. Гунько, канд. техн. наук, доц. Работа подготовлена на кафедре вычислительной техники и утверждена Редакционно-издательским советом университета в качестве учебно-методического пособия для студентов IV курса дневной и V курса заочной форм обучения АВТФ (направление 230100.62 -«Информатика и вычислительная техника», специальность 230101.65-«Вычислительные машины, комплексы, системы и сети» по дисциплинам «Объектно-ориентированное программирование» и «Технологии программирования» Васюткина И.А. В 206 Технология разработки объектно-ориентированных программ на JAVA : учеб.- метод. пособие / И.А. Васюткина. - Новосибирск : Изд-во НГТУ, 2012.- 152 с. ISBN 978-5-7782-1973-1 Изложены практические приемы разработки приложений и апплетов на объектно-ориентированном языке Java в инструментальной среде разработки NetBeans 7.0; иерархий классов и интерфейсов; проектирования графического интерфейса пользователя, обработки событий; работы с байтовыми и символьными потоками ввода-вывода, сериализации и десериализации объектов; создания многопотоковых и «клиент-серверных» сетевых приложений; использования классов-коллекций для хранения и обработки данных, а также разработки универсальных generics- классов. Все главы иллюстрированы большим количеством программ, таблиц и рисунков для лучшего понимания излагаемого материала. В конце каждой главы имеются практические задания для закрепления материала и получения навыков программирования, вопросы для самопроверки полученных знаний. Пособие может использоваться для чтения учебных дисциплин, базирующихся на технологиях Java, и для проведения практических и лабораторных занятий по этим дисциплинам. УДК 004.434(075.8) ISBN978-5-7782-1973-1 © Васюткина И.А., 2012 © Новосибирский государственный технический университет, 2012
ОГЛАВЛЕНИЕ Предисловие...................................................... 4 Глава 1. Основы программирования на Java. Создание простейших приложений и апплетов в NetBeans 7.0......................... 5 Г лава 2. Обработка событий. Графика............................ 35 Г лава 3: Разработка графического интерфейса программы.......... 55 Г лава 4. Классы-коллекции...................................... 76 Г лава 5. Многопотоковые приложения............................. 95 Г лава 6. Потоки данных. Работа с локальными файлами........... 111 Г лава 7. Сетевые приложения «клент-сервер».................... 130 Глава 8. Generics-классы в Java................................ 142 Библиографический список....................................... 152
ПРЕДИСЛОВИЕ Пособие содержит теоретический материал, изучаемый студентами IV курса дневной формы обучения в дисциплине «Объектно-ориентированное программирование», а также V курса дневной и заочной форм обучения АВТФ в дисциплине «Технологии программирования». В восьми главах пособия рассмотрены технологии разработки приложений и апплетов на языке Java в среде NetBeans 7.0; разработки иерархий классов и интерфейсов; проектирования графического интерфейса пользователя, обработки событий; работы с байтовыми и символьными потоками ввода-вывода, сериализации и десериализации объектов; создания многопотоковых и «клиент-серверных» сетевых приложений; использования классов-коллекций для хранения и обработки данных, а также разработки универсальных generic-классов. В каждой главе имеется достаточно большое количество примеров программ для лучшего понимания излагаемого материала. В конце каждой главы предлагаются практические задания для закрепления материала и получения навыков программирования. Завершается каждая глава вопросами для самопроверки полученных знаний.
Глава 1 ОСНОВЫ ПРОГРАММИРОВАНИЯ НА JAVA. СОЗДАНИЕ ПРОСТЕЙШИХ ПРИЛОЖЕНИЙ И АППЛЕТОВ В NetBeans 7.0 При появлении Java двумя основными формами Java-программ были приложение и апплет. Java-приложения выполняются под управлением специального интерпретатора (java.exe). Приложения похожи на программы, созданные, например, с использованием языка C/C++, хотя для своей работы они требуют присутствия Java виртуальной машины (JVM). Это - полноправные приложения, которые существуют и выполняются в локальных компьютерных системах пользователей. Java-апплеты разработаны для функционирования в сети и выполняются как часть Web-страниц. Апплеты требуют наличия соответствующего Java-браузера, так как они должны загружаться по сети с Web-сервера в обеспечивающую их работоспособность среду исполнения Java на локальном компьютере. Инструментальная среда разработки программ на Java Для создания программ на Java возможно использование нескольких сред разработки. Это может быть Microsoft Visual J++, JBuilder, IntelliJIdea, Eclipse или NetBeans IDE. Использоввеаесреды NetBeans 7.0 1. Создание нового Java-проекта (File New Project), рис. 1.1. 2. Настройка проекта (рис. 1.2). Необходимо задать имя проекта (в примере LabWorkN), его расположение и имя главного класса (в при 5
мере labworkn.Main). Обратите внимание, что имя разделено точкой. До точки - имя пакета (package), после - имя класса. Названия пакетов принято писать строчными буквами, а заглавные использовать только в именах классов. Рис. 1.1. Создание нового проекта Рис. 1.2. Задание имен проекта и главного класса 6
Добавление класса, интерфейса, апплета и других модулей в проект (правая кнопка мыши по пакету), рис. 1.3. Рис. 1.3. Добавление новых модулей в проект 3. Если проект не был скомпилирован или был изменен, при запуске через панель инструментов (рис. 1.4), меню Run или F6 будет произведена компиляция. Результат выполнения консольного приложения, описание ошибок и исключений выводятся в окно Output. Компиляция может быть произведена отдельно, без запуска (Run Build Main Project или Clean and Build Main Project). 4. Для отладки программы устанавливаем точку останова щелчком по полю с номером строки кода. Появится красный квадрат напротив этой строки. При помощи команды Debug Main Project (Ctrl + F5) запускаем программу в режиме отладки (рис. 1.5). 5. Создание простейшего приложения. Java-файл будет содержать следующий код: importjava.util.*; public class Hello { public static void main(String args[]) { System.out.println("Hello, world"); Date d=new Date(); System.out.println("Date:"+d.toString()); } } 7
Рис. 1.4. Запуск программы Рис. 1.5. Отладка программы Так как класс Hello объявлен с модификатором public, то имя файла с его исходным кодом должно совпадать с именем класса. Для классов с модификатором по умолчанию имена файлов могут быть любыми (расширение обязательно .java). Все классы являются производными (или подклассами) от существующих классов. В случае если не определен суперкласс, то по умолчанию предполагается, что таким суперклассом является класс Object. 8
Структура Java-программы Все Java-программы содержат в себе четыре разновидности блоков: классы (classes), методы (methods), переменные (variables) и пакеты (package). Классы представляют собой основу объектно-ориентированных свойств языка. Классы содержат переменные и методы. Методы есть не что иное, как функции или подпрограммы. В переменных хранятся данные. Пакеты содержат в себе классы и помогают компилятору найти те классы, которые нужны ему для компиляции пользовательской программы. Классы, входящие в один пакет, особым образом зависят друг от друга. Например, приложение Hello импортирует пакет java.util, в котором содержится класс Date. Java-программа может содержать в себе любое количество классов, но один из них всегда имеет особый статус и непосредственно взаимодействует с оболочкой времени выполнения (первичный класс). Для приложений первичный класс должен обязательно содержать метод main(). Переменные В Java существует два вида переменных: - примитивные типы (primitive types). К ним относятся стандартные, встроенные в язык типы для представления численных значений, одиночных символов и булевских (логических) значений. Все примитивные типы имеют предопределенный размер занимаемой ими памяти. - ссылочные типы (reference type) - типы, определенные пользователем (классы, интерфейсы) и типы массивов. Все ссылочные типы являются динамическими типами, для них выделяется память во время работы программы. Переменные примитивных типов передаются в методы по значению, тогда как ссылочные переменные всегда передаются по ссылке. Примитивные типы. Всего в Java определено восемь примитивных типов: int (4b), short (2b), byte (lb), long (8b), float (4b), double (8b), boolean (true, false), char (2b). Первые шесть типов предназначены для хранения численных значений, с ними можно производить арифметические операции. Тип char 9
предназначен для хранения символов в стандарте Unicode (2 байта). Булевские (логические) переменные могут иметь одно из двух допустимых значений: true или false. Ссылочные типы. Переменной ссылочного типа выделяется память при помощи оператора new. Таким образом, каждая переменная ссылочного типа является объектом или экземпляром соответствующего типа. Типы, определенные пользователем. Язык Java позволяет определять новые типы с помощью новых классов. Рассмотрим пример определения и использования нового класса (нового типа) МуТуре. Пример 1.1. Файл NewClass.java class МуТуре { // объявляется класс public int myData=5; // переменная-элемент класса МуТуре() { // конструктор без параметров System.out.println("Constructor without parameters"); > МyТype(int v) { // конструктор с одним параметром System.out.print("Constructor with one parameter"); System.out.println(" Setting myData="+v); myData=v; >......................... public void myМethod() { // метод класса System.out.print("myМethod!"); System.out.println(" myData="+myData); } } // Реализация объектов и действия с ними public class NewClass { // первичный класс public static void main(String[] args) { // объект obj 1 - реализация класса МyТype МyТype obj1=new МyТype(); obj1.myМethod(); // использование метода // доступ к открытой переменной System.out.println("---obj1.myData="+obj1.myData); // объект obj2 - реализация класса МyТype 10