|
2 РАБОТА В СРЕДЕ ECLIPSE. ДОКУМЕНТИРОВАНИЕ
2.1 Цель работы
Целью данной работы является приобретение навыков по работе в интегрированной среде Eclipse, а также документированию Java-программ средствами Javadoc.
2.2 Организация самостоятельной работы
В процессе подготовки необходимо изучить теоретический материал по конспекту лекций, а также API документацию по пакету java.util, которая входит в состав JDK.
2.2.1 Среда разработки Eclipse
Eclipse – это расширяемая open-source интегрированная среда разработки. Она предоставляет множество различных возможностей, которые можно наблюдать в коммерческих IDE: подсветка синтаксиса в редакторе, компиляция кода, отладчик уровня исходного кода с поддержкой нитей (threads), навигатор по классам, файловый менеджер и менеджер проектов, интерфейсы для стандартных контролирующих систем исходного кода. Помимо этого, Eclipse содержит ряд уникальных возможностей, например, рефакторинг кода, автоматическое обновление и сборка кода (посредством Update Manager), список задач, поддержка возможности тестирования модулей с помощью JUnit, а также интеграция с инструментом сборки приложений Jakarta Ant.
2.2.2 Соглашения об именовании и документирование
Для написания java-программ в хорошем стиле необходимо соблюдать следующие соглашения об именовании:
1. Имена классов должны всегда начинаться с большой буквы (например, ConnectionFactory)
2. Имена пакетов должны состоять только из букв в нижнем регистре и цифр. При этом каждая составляющая имени должна начинаться с буквы (например, org.apache.log4j). Обычно имена пакетов начинаются с инвертированного имени домена компании-разработчика. Так из приведенного выше примера видно, что разработчиком проекта log4j является Apache Software Foundation (www.apache.org).
3. Названия методов и переменных должны начинаться с маленькой буквы и быть осмысленными. Каждое новое слово должно начинаться с большой буквы. Подчеркивания отсутствуют (например, insertToDatabase(), value, personName).
4. Названия констант состоят из больших букв, цифр и знаков подчеркивания в качестве разделителей между словами (MAX_INTEGER).
5. Каждый класс должен содержать Javadoc -комментарий, состоящий из краткого описания, для чего предназначен этот класс, и что он делает. Также может быть указан автор класса с помощью директивы @author, версия (@version), и т.д.
/**
* Этот класс предназначен для хранения информации и сотрудниках
*
* @author Vasya Pupkin
*/
public class Employee{
...
}
6. Каждый метод должен содержать комментарий с указанием того, для чего предназначен этот метод, и что он делает. Также должны быть описаны все параметры метода и их типы, возвращаемые значения и исключения, возбуждаемые методом.
/**
* Рисует картинку в области с координатами (x, y).
* Метод возвращает управление сразу же, независимо о того,
* успела ли полностью прорисоваться картинка.
* @param img картинка для рисования
* @param x x-координата левого верхнего угла
* @param y x-координата левого верхнего угла
* @return <code>true</code> если картинка
* полностью прорисована
* <code>false</code> в противном случае.
* @throws DrawingException если возникает
* ошибка при прорисовке картинки
*/
public boolean drawImage(Image img, int x, int y)
throws DrawingException{
...
}
2.2.3 Пример структуры классов с наследованием
Условие. Задать классы фигур, прямоугольников, треугольников, определить их площади и периметры.
public class Shape {
public int top,left,bot,right;
public int square(){
int i;
i=(bot-top)*(right-left);
return i;
}
}
public class Poly extends Shape{
public int perim(){
int j;
j=2*((bot-top)+(right-left));
return j;
}
}
public class Triangle extends Shape{
public int x2,y2,x3,y3;
public double a1,a2,a3;
public int perim(){
int j;
a1=Math.sqrt((y2-top)*(y2-top)+(x2-left)*(x2-left));
a2=Math.sqrt((y3-top)*(y3-top)+(x3-left)*(x3-left));
a3=Math.sqrt((y3-y2)*(y3-y2)+(x3-x2)*(x3-x2));
j=(int)(a1+a2+a3);
return j;
}
public int square(){
int i;
i=(int)(a2*a3/2);
return i;
}
}
В другом файле наберем автономную программу Еgor.java, в которой воспользуемся классами Poly и Triangle. В этой программе создадим объекты прямоугольника и треугольника. Инициализацию их значений выполним при помощи конструктора. Исходные данные введем в диалоговых окнах, создаваемых при помощи класса JОptionPane.
Строка
import javax.swing.*;
сообщает компилятору, где искать класс JОptionPane.
Метод showInputDialog генерирует окно для приема вводимых данных. Вызов этого метода возвращает строку String. Для ее преобразования в тип int необходимо использовать метод Integer.parseInt().
При помощи описанных методов найдем периметры и площади прямоугольника и треугольника и напечатаем их.
Вывод результатов обеспечивает метод showMessageDialog() того же класса JОptionPane.
import javax.swing.*;
public class Egor {
public static void main(String args[])
{
int i,s1,s2,pert;
String a;
Poly p=new Poly();
Triangle t=new Triangle();
a=JOptionPane.showInputDialog("Input left coord poly"); // Вводим
// координату левого верхнего угла прямоугольника
p.left=Integer.parseInt(a); // Преобразование введенной строки в тип int
a=JOptionPane.showInputDialog("Input top coord poly");
p.top=Integer.parseInt(a);
a=JOptionPane.showInputDialog("Input right coord poly"); // Вводим
// координату правого нижнего угла прямоугольника
p.right=Integer.parseInt(a); // Преобразование введенной строки в тип int
a=JOptionPane.showInputDialog("Input bottom coord poly");
p.bot=Integer.parseInt(a);
// Аналогично вводим координаты вершин треугольника
a=JOptionPane.showInputDialog("Input left coord triangle");
t.left=Integer.parseInt(a);
a=JOptionPane.showInputDialog("Input top coord triangle");
t.top=Integer.parseInt(a);
a=JOptionPane.showInputDialog("Input x2 coord triangle");
t.x2=Integer.parseInt(a);
a=JOptionPane.showInputDialog("Input y2 coord triangle");
t.y2=Integer.parseInt(a);
a=JOptionPane.showInputDialog("Input x3 coord triangle");
t.x3=Integer.parseInt(a);
a=JOptionPane.showInputDialog("Input y3 coord triangle");
t.y3=Integer.parseInt(a);
s1=p.square(); // Вызов метода нахождения площади прямоугольника
pert=t.perim();
s2=t.square();
JOptionPane.showMessageDialog(null,"S poly="+s1+", Per tri="+pert+
“S tri=”+s2);
System.exit(0);
}
}
Программа с оконным интерфейсом должна иметь для нормального завершения вызов метода
System.exit(0);
Иначе программа будет завершаться некорректно!
2.3 Описание лабораторной установки
Работу выполняют на персональных компьютерах под управлением Windows или Linux в среде Eclipse с установленным Sun JDK версии 1.4 или выше.
2.4 Порядок выполнения и методические указания по выполнению работы
2.4.1. Создание проекта и классов в Eclipse.
Для работы с Java-программами в Eclipse служит Java перспектива. Чтобы переключиться в Java перспективу выберите в меню Window->Open perspective -> Java.
Рисунок 2.1 – Java-перспектива
Песпектива Java (рисунок 2.1) состоит из четырех основных окон:
1. Package Explorer – содержит дерево проектов и их содержимого
2. Окно редактора. Здесь отображается содержимое открываемых файлов.
3. Outline – отображает атрибуты и методы класса, открытого в окне редактора
4. Tasks – ошибки, предупреждения и заметки, встречающиеся в проекте.
Перед созданием проекта убедитесь, что установлена опция, согласно которой исходные файлы проекта и скомпилированные классы будут храниться в разных папках. Для этого выберите пункт меню Window à Preferences. В появившемся диалоге в дереве выберите Java à New Project и установите параметр Source and output folder в "Folders" (рисунок 2.2).
Рисунок 2.2 - Настройки New Project
Чтобы создать проект, выберите в меню File à New à Project. В появившемся диалоге выберите Java Project и укажите путь к проекту и его название. В итоге в окне Package Explorer появится дерево проекта (рисунок 2.3)
Рисунок 2.3 - Дерево проекта
В каталоге src будут содержаться исходные коды классов проекта. Каталог bin в дереве не отображается и будет содержать откомпилированные классы.
Чтобы создать класс, выберите пункт меню File à New à Class. В появившемся диалоговом окне (рисунок 2.4) укажите имя класса (Name) и пакета (Package) для этого класса. Также если данный класс должен быть запускаемым, отметьте галочку "public static void main(String args[])" - и метод main будет сгенерирован автоматически.
Рисунок 2.4 - Диалог создания класса
После нажатия кнопки Finish класс с именем Lab1Main будет сгенерирован автоматически. Его код вы сможете видеть в окне редактора (рисунок 2.5).
Рисунок 2.5 - Редактор кода
2.4.3 Генерация Javadoc-документации
Теперь можно автоматически сгенерировать документацию по классам проекта в HTML-виде. Для этого сначала нужно указать путь к утилите Javadoc в настройках Eclipse: Window à Preferences à Java à Javadoc. Эта утилита обычно расположена в каталоге bin установленного JDK. Затем нужно указать каталог проекта, в который будут помещены файлы с документацией. Для этого кликаем правой кнопкой по проекту, выбираем Properties à Javadoc location и указываем путь к какталогу (рисунок 2.6).
Рисунок 2.6 - Указание пути к javadoc-документации
Затем нужно выбрать в меню пункт Project -> Generate Javadoc..., отметить все классы проекта и нажать кнопку Finish (рисунок 2.7).
Рисунок 2.7 - Интерфейс генерации javadoc-документации
После этого вся сгенерированная документация будет помещена в вышеуказанный каталог. Открыв файл index.html, вы можете просмотреть документацию по всем имеющимся классам.
Рисунок 2.8 - Пример сгенерированной javadoc-документации
Дата добавления: 2015-10-21; просмотров: 18 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Министерство культуры федеральное агентство по туризму | | |