41
Глава 2. Объектно-ориентированное проектирование и платформа NetBeans Процедурное и объектно-ориентированное программирование. Инкапсуляция Работа со ссылочными переменными. Сборка мусора Проекты NetBeans. Пакеты. Уровни видимости классов. Импорт классов Базовые пакеты и классы Java Создание в NetBeans простейшего приложения Java Компиляция файлов проекта и запуск приложения Курс подготовлен при поддержке Sun Microsystems Правила использования материалов опубликованы на www.sun.ru

Глава 2: Среда разработки NetBeans

Embed Size (px)

Citation preview

Page 1: Глава 2: Среда разработки NetBeans

Глава 2. Объектно-ориентированное проектирование и платформа NetBeans● Процедурное и объектно-ориентированное

программирование. Инкапсуляция● Работа со ссылочными переменными. Сборка

мусора● Проекты NetBeans. Пакеты. Уровни видимости

классов. Импорт классов● Базовые пакеты и классы Java● Создание в NetBeans простейшего приложения

Java ● Компиляция файлов проекта и запуск

приложения

Курс подготовлен при поддержке Sun MicrosystemsПравила использования материалов опубликованы на www.sun.ru

Page 2: Глава 2: Среда разработки NetBeans

Глава 2. Объектно-ориентированное проектирование и платформа NetBeans

(продолжение)● Структура проекта NetBeans Создание в NetBeans

приложения Java с графическим интерфейсом ● Редактор экранных форм● Внешний вид приложения ● Ведение проектов ● Редактирование меню экранной формы ● Создание нового класса ● Документирование исходного кода ● Основные компоненты пакетов swing и awt ● Технологии Java и .Net

Page 3: Глава 2: Среда разработки NetBeans

Процедурное и объектно-ориентированное программирование. Инкапсуляция

● Три базовых принципа объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм.

● Класс – это описание того, как устроен объект. И поля данных, и методы задаются в классах. Но при выполнении программы поля данных хранятся в объектах, а методы – в классах. Методы задают поведение объекта, а поля данных - состояние объекта.

● Переменные, описываемые в классах, называются глобальными. Они задают поля данных объектов. Переменные, описываемые в методах, называются локальными. Они являются вспомогательными и существуют только во время вызова метода.

Page 4: Глава 2: Среда разработки NetBeans

Классы и объекты. Работа со ссылочными переменными. Сборка мусора

● Объект создаётся с помощью вызова конструктора - специальной подпрограммы-функции, задаваемой в классе.

● Методы делятся на методы объектов и методы классов. Метод объекта можно вызывать только из объекта соответствующего типа. А метод класса может работать и при отсутствии объекта, и вызываться из класса.

● Переменные ссылочного типа содержат адреса данных, а не сами данные. Поэтому присваивания для таких переменных меняют адреса, но не данные. Все объектные типы являются ссылочными.

● Потеря ссылки на объект приводит к сборке мусора.

Page 5: Глава 2: Среда разработки NetBeans

Работа со ссылочными переменными. Сборка мусора I

Данные

Адрес

Ссылочная переменная

Объект1

Page 6: Глава 2: Среда разработки NetBeans

Работа со ссылочными переменными. Сборка мусора II

Данные1

Адрес

Ссылочная переменная

Объект1- мусор

Данные2

Объект2

Page 7: Глава 2: Среда разработки NetBeans

Проекты NetBeans. Пакеты● Основой разработки программы является проект - набор

файлов и папок заданной структуры.● Все классы и объекты приложения вызываются и

управляются из метода main, который имеет сигнатуру public static void main(String[] args). Он является методом класса, и поэтому для его работы нет необходимости в создании объекта, являющегося экземпляром класса.

● Объявление, что класс с именем MyClass1 находится в пакете pkg3, находящемся в пакете pkg2, который расположен в пакете pkg3, будет выглядеть какpackage pkg1.pkg2.pkg3;class MyClass1 {…}

Page 8: Глава 2: Среда разработки NetBeans

Уровни видимости классов. Импорт классов● При декларации класса можно указывать, что он

общедоступен, с помощью модификатора доступа public. В этом случае возможен доступ к данному классу из других пакетов.

● В файле .java можно располагать только один общедоступный класс и произвольное число классов с другим уровнем видимости.

● Если модификатор public отсутствует, то доступ к классу разрешён только из классов, находящихся с ним в одном пакете. Про такие файлы говорят, что у них пакетный вариант доступа.

● Импорт классов из пакетов осуществляется с помощью оператора import имяПакета.ИмяКласса или import имяПакета.*

Page 9: Глава 2: Среда разработки NetBeans

Базовые пакеты и классы Java● Важнейшими пакетами являются java и javax, а также

вложенные в них пакеты. ● java.lang - cодержит базовые классы языка Java.

Автоматически импортируется в любую программу без указания имени пакета.

● java.awt - базовый пакет работы с графическим пользовательским интерфейсом.

● java.io - поддержка базовых средств ввода-вывода. ● java.util- важнейшие классы для работы со структурами

данных ● Информацию о содержащихся в пакетах элементах

можно получить в среде разработки, набрав java. или javax. И прочитав появившуюся подсказку.

Page 10: Глава 2: Среда разработки NetBeans

Создание в NetBeans простейшего приложения Java● Визуальное проектирование приложения

с графическим интерфейсом пользователя (GUI) происходит в режиме Design.

● Как правило, основой для построения такого интерфейса служат компоненты Swing.

Page 11: Глава 2: Среда разработки NetBeans

Создание в NetBeans приложения Java, шаг 1

Page 12: Глава 2: Среда разработки NetBeans

Создание в NetBeans приложения Java, шаг 2

Page 13: Глава 2: Среда разработки NetBeans

Создание в NetBeans простейшего приложения Java

Page 14: Глава 2: Среда разработки NetBeans

Исходный код приложения /* * Main.java * * Created on 21 Июнь 2006 г., 13:08*/package javaapplication1;/** * * @author User */public class Main { /** Creates a new instance of Main */ public Main() { } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here } }

Page 15: Глава 2: Среда разработки NetBeans

Компиляция проекта и запуск приложения● Build/ Build Main Project - компиляция (или <F11>, или

иконка с голубой книжкой и гаечным ключом). Будут заново скомпилированы из исходных кодов все классы проекта.

● Build/ Generate Javadoc for “JavaApplication1” - создание документации по проекту. Из исходных кодов классов выбирается информация, заключённая в документационные комментарии /** … */, и на её основе создаётся гипертекстовый HTML-документ.

● Run/ Run Main Project - запуск приложения (или <F6>, или на панели инструментов иконка с зелёным и жёлтыми треугольниками).

● При запуске приложение автоматически компилируется (но не “строится”).

Page 16: Глава 2: Среда разработки NetBeans

Выходная консоль

System.out.println("Привет!"); System.out.println("Привет!");Даст текст Привет! Привет!а System.out.print("Привет!"); System.out.print("Привет!");даст Привет!Привет!

Page 17: Глава 2: Среда разработки NetBeans

Структура проекта NetBeans I

● Source Packages - пакеты исходного кода.● Test Packages - пакеты тестирования.● Libraries – библиотеки.● Test Libraries - библиотеки поддержки

тестирования. ● Ветви дерева представления элементов проекта

можно разворачивать или сворачивать путём нажатия на узлы, отмеченные плюсами и минусами.

Page 18: Глава 2: Среда разработки NetBeans

Структура проекта NetBeans II

Page 19: Глава 2: Среда разработки NetBeans

Открытие проекта с существующим кодом

Page 20: Глава 2: Среда разработки NetBeans

Редактор экранных форм I

Page 21: Глава 2: Среда разработки NetBeans

Редактор экранных форм II

Page 22: Глава 2: Среда разработки NetBeans

Назначение обработчика события

Page 23: Глава 2: Среда разработки NetBeans

Внешний вид приложения

Page 24: Глава 2: Среда разработки NetBeans

Внешний вид приложенияimport javax.swing.*;import java.awt.*;...public GUI_application() { try{ UIManager.setLookAndFeel(

UIManager.getSystemLookAndFeelClassName() ); }catch(Exception e){}; initComponents(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = getSize(); setLocation(new Point((screenSize.width-frameSize.width)/2, (screenSize.height-frameSize.width)/2 ) );}

Page 25: Глава 2: Среда разработки NetBeans

Ведение проектовПри получении работоспособной версии проекта следует делать его архивную копию - в открытом проекте в окне “Projects” щелкнуть правой кнопкой мыши по имени проекта, и в появившемся всплывающем меню выбрать пункт “Copy Project”.

Page 26: Глава 2: Среда разработки NetBeans

Редактирование меню экранной формы

Окно инспектора компонентов Развёрнутое дерево вложенности

Page 27: Глава 2: Среда разработки NetBeans

Редактирование всплывающего меню

Page 28: Глава 2: Среда разработки NetBeans

Создание нового класса, шаг 1

Page 29: Глава 2: Среда разработки NetBeans

Создание нового класса, шаг 2

Page 30: Глава 2: Среда разработки NetBeans

Заготовка нового класса

Page 31: Глава 2: Среда разработки NetBeans

Добавление в класс метода. Шаг 1

Page 32: Глава 2: Среда разработки NetBeans

Добавление в класс метода. Шаг 2

Page 33: Глава 2: Среда разработки NetBeans

Документирование исходного кода I

● Осуществляется с помощью специальных документационных комментариев /** Текст комментария в формате HTML */ .

● Также имеется ряд команд документации, начинающихся с символа @ .

● Утилита javadoc позволяет по документационным комментариям создавать систему HTML-страниц с документацией о пакетах и классах.

Page 34: Глава 2: Среда разработки NetBeans

Документирование исходного кода II

Документационные комментарии бывают для:● Пакетов (пока не функционируют).● Классов.● Интерфейсов.● Пользовательских типов-перечислений (на

уровне пакетов пока не функционируют, но можно использовать для типов, заданных в классах).

● Методов.● Переменных.

Page 35: Глава 2: Среда разработки NetBeans

Команды документации I● @see –создание гиперссылок на другие комментарии. Формат

использования: @see ИмяКласса – для класса; @see ИмяКласса.ИмяПеречисления – для типа-перечисления, заданного в классе; @see ИмяКласса#ИмяЧлена – для метода или переменной; для интерфейса – аналогично классу.

● @version – информация о версии класса или интерфейса. Формат использования: @version Информация в произвольной форме.

● @author - Информация об авторе класса или интерфейса. Формат использования: @author Информация в произвольной форме.

● @since - Информация о версии JDK, с которой введён класс или интерфейс. Формат использования: @since Информация в произвольной форме.

● @param - информация о параметре метода. Формат использования: @param ИмяПараметра Описание.

● @return - информация о возвращаемом методом значении и его типе. Формат использования: @return Информация в произвольной форме.

● @throws - информация об исключениях, которые могут возбуждаться методом. Формат использования: @throws ИмяКлассаИсключения Описание.

● @deprecated - информация о том, что метод устарел. Формат использования: @deprecated Информация в произвольной форме.

Page 36: Глава 2: Среда разработки NetBeans

Пример документирования исходного кода I

Page 37: Глава 2: Среда разработки NetBeans

Пример документирования исходного кода II

Page 38: Глава 2: Среда разработки NetBeans

Пример документирования исходного кода III

Page 39: Глава 2: Среда разработки NetBeans

Основные компоненты пакетов swing и awt

JLabel, JButton, JToggleButton, JCheckBox, JRadioButton, ButtonGroup, JComboBox, JList, JTextField, JTextArea, JPanel, JTabbedPane, JScrollBar, JScrollPane, JMenuBar, JPopupMenu, JSlider, JProgressBar, JSplitPane, JFormattedTextField, JPasswordField, JSpinner, JSeparator, JTextPane, JEditorPane, JTree, JTable, JToolBar, JInternalFrame, JLayeredPane, JDesktopPane, JOptionPane: Для выдачи пользователю информационного сообщения следует использовать вызов JOptionPane.showMessageDialog(null, "Привет!","Заголовок сообщения", JOptionPane.INFORMATION_MESSAGE).JColorChooser , JFileChooser , JFrame , JDialog.

Page 40: Глава 2: Среда разработки NetBeans

Выбор менеджера размещения

Page 41: Глава 2: Среда разработки NetBeans

Установка якорей