Принципы объектно-ориентированного подхода к программированию

Изучение принципов объектно-ориентированного подхода к программированию и получение практических навыков их использования при разработке классов и объектов в обучающей среде. Конструктор объектов класса Vektor c параметрами. Редактирования исходного кода.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 20.02.2015
Размер файла 715,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Классический приватный университет

Кафедра программирования и информационных технологий

Отчет

по лабораторной работе

дисциплины "Основы программной инженерии"

Принципы объектно-ориентированного подхода к программированию

Выполнил:

ст. гр. ПИК-114

Кольцун И.В.

Принял:

доц. каф. ПИТ

Г.П. Коломоец

Запорожье

2016 г.

Задание лабораторной работы

Разработать в BlueJ класс на языке Java, представляющий собой вектор на плоскости, заданный координатами, с методами нахождения модуля вектора и сложения двух векторов.

Цель работы: Рассмотреть основные принципы объектно-ориентированного подхода к программированию и получить практические навыки их использования при разработке классов и объектов в обучающей среде.

Для начала работы создаем класс и определяем в нем необходимые переменные и методы:

Рис. 1. Рабочая область BlueJ с созданным классом

Редактируем исходный код класса Vektor:

/**

* Класс, описывающий вектор на плоскости.

*

* @author Кольцун Ирина

* @version 2.1

*/

public class Vektor

{

/**

* Координаты точек на поскости

*/

private int x1;

private int y1;

private int x2;

private int y2;

/**

* Конструктор объектов класса Vektor без параметров

*/

public Vektor()

{

// инициализация переменных объекта

x1 = 0;

y1 = 0;

x2 = 0;

y2 = 0;

}

/**

* Конструктор объектов класса Vektor c параметрами

*/

public Vektor(int x1,int y1,int x2,int y2)

{

//инициализация переменных объекта

this.x1 = x1;

this.y1 = y1;

this.x2 = x2;

this.y2 = y2;

}

После редактирования исходного кода класса выполняем щелчок по кнопке Скомпилировать в окне Редактора исходного кода. Теперь штриховка на пиктограмме класса исчезла и можно создать объект класса.

Рис. 2. Создание объекта (экземпляра класса) с помощью конструктора без параметров

Рис. 3. Создание объекта (экземпляра класса) с помощью конструктора с параметрами

Рис. 4. Инспекция объекта (экземпляра класса)

Таким образом, мы научились определять свойства класса объектов и задавать им значения через конструкторы.

Добавим к определению класса метод, который, например, будет вычислять модуль текущего вектора:

/**

* Метод, вычисляющий модуль текущего вектора.

*

* @param x1,x2,y1,y2-координаты произвольных точек

* @return расстояние между точками, определенных классом Vektor

*

*/

public double module()

{

int dx=x2-x1;

int dy=y2-y1;

return Math.sqrt(dx*dx+dy*dy);

}

Рис. 5. Результат метода module, вычисляющего модуль текущего вектора

Добавляем метод, вычисляющий сумму двух векторов класса Vektor:

/**

* Метод,вычисляющий сумму двух векторов класса Vektor

*

* @param

* @return res

*/

public Vektor sum(int x1,int y1, int x2,int y2)

{

Vektor res=new Vektor();

int dx=x1-this.x2;

int dy=y1-this.y2;

res.x2=x2-dx;

res.y2=y2-dy;

res.x1=this.x1;

res.y1=this.y1;

return res;

}

Рис. 6. Инспекция объекта (экземпляра класса)

Рис. 7. Вызов метода vector2.sum с передачей ему объекта Vektor vector1

Рис. 8. Результата метода

Рис. 9. Сумма двух векторов класса Vektor.

10. Исходный код класса:

/**

* Класс, описывающий вектор на плоскости.

*

* @author Кольцун Ирина

* @version 1.2

*/

public class Vektor

{

/**

* Координаты точек на поскости

*/

private int x1;

private int y1;

private int x2;

private int y2;

/**

* Конструктор объектов класса VekApp без параметров

*/

public Vektor()

{

// инициализация переменных объекта

x1 = 0;

y1 = 0;

x2 = 0;

y2 = 0;

}

/**

* Конструктор объектов класса Vektor c параметрами

*/

public Vektor(int x1,int y1,int x2,int y2)

{

//инициализация переменных объекта

this.x1 = x1;

this.y1 = y1;

this.x2 = x2;

this.y2 = y2;

}

/**

* Метод, вычисляющий модуль текущего вектора.

*

* @param x1,x2,y1,y2-координаты произвольных точек

* @return расстояние между точками,определенных классом Vektor

*

*/

public double module()

{

int dx=x2-x1;

int dy=y2-y1;

return Math.sqrt(dx*dx+dy*dy);

}

/**

* Метод,вычисляющий сумму двух векторов класса Vektor

*

* @param

* @return res

*/

public Vektor sum(int x1,int y1, int x2,int y2)

{

Vektor res=new Vektor();

int dx=x1-this.x2;

int dy=y1-this.y2;

res.x2=x2-dx;

res.y2=y2-dy;

res.x1=this.x1;

res.y1=this.y1;

return res;

}

/**

* Метод,вычисляющий сумму двух векторов класса Vektor

*

* @param

* @return res

*/

public Vektor sum(Vektor v)

{

Vektor res=new Vektor();

int dx=v.x1-this.x2;

int dy=v.y1-this.y2;

res.x2=v.x2-dx;

res.y2=v.y2-dy;

res.x1=this.x1;

res.y1=this.y1;

return res;

}

}

В состав JDK входит утилита javadoc, позволяющая генерироватьдокументацию по проекту на основе документируемых коментариев в исходном коде классов проекта.

Рис. 11. Окно Редактора исходных кодов с сгенерированной документацией класса Vektor

Литература

программирование конструктор редактирование код

1. Фесюнов В. Конспект лекций по Java. http://www.javable.com/tutorials/fesunov/.

2. Методичка OPI-LR2.pdf.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.