Страницу Назад
Поискать другие аналоги этой работы

219

Технология разработки телекоммуникационных сервисов. Лабораторная работа1. 2вариант

ID: 228862
Дата закачки: 04 Октября 2022
Продавец: aleshin (Напишите, если есть вопросы)
    Посмотреть другие работы этого продавца

Тип работы: Работа Лабораторная
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Лабораторная работа №1

Приёмы объектно-ориентированного программирования на языке Java 2

Цель работы:Изучение принципов объектно-ориентированного программирования – инкапсуляции, наследования, полиморфизма.

Подготовка к лабораторной работе:

1. Изучить лекционный материал дисциплины "Технологии разработки телекоммуникационных сервисов" по теме "Объектно-ориентированное программирование на языке Java".

2. Изучить соответствующие разделы в литературе [1, 2].

3. Повторить принципы работы в среде Eclipse.

Краткая теория

Один из основных способов, при помощи которого управляют сложностью, - это абстракция. Абстракция определяет свойства и поведение объекта, которые отличают его от других объектов. Суть объектно-ориентированного программирования (ООП) заключается в моделировании абстракции с использованием классов и их экземпляров- объектов.

Абстракция

Абстрагирование— это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция— это набор всех таких характеристик.

Класс

Класс является описываемой на языке терминологии исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект— этоэкземпляркласса. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

Пример объявления класса:

//класс окружность

classCircle{

// поля класса

publicdoublex; // абсциссацентра

public double y; // ординатацентра

publicdoubler; // радиус

// методы класса

// выводит на экран параметры окружности

publicvoidprintCircle(){

System.out.println("Окружностьсцентром("+x+";"+y+")ирадиусом"+r);

}

// перемещает центр, движение окружности

publicvoidmoveCircle(doublea,doubleb){

x=x+a;

y=y+b;

}

// масштабируем с коэффициентом k

publicvoidzoomCircle(doublek){

r=r*k;

}

}

Объект

Объект — сущность вадресном пространствевычислительной системы, возникающая при создании экземпляра класса или копирования прототипа (например, после запуска результатовкомпиляцииикомпоновкиисходного кода на выполнение).

Пример создания объектов:

Circle c1 =newCircle();

Circlec2 =newCircle(10.0,35.0, 20.0);

Конструкторкласса

Конструктор — это специальный метод, вызываемый при создании экземпляра класса. Его имя совпадает с именем класса, и он не возвращает значения. Класс может иметь несколько конструкторов. Если при объявлении класса не описаны конструкторы, то при создании объекта будет выполняться конструктор по умолчанию.

public Circle(double xx, doubleyy,doublerr) {

x = xx;

y = yy;

r = rr;

}

Прототип

Прототип— это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретногоязыка программирования.

Инкапсуляция

Инкапсуляция— это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.

Пример:

classCircle{

⋮

private double r; // радиус

public doublegetR() {
return r;
}
public voidsetR(doublerr) {
if(rr> 0) {
r=rr;

}else{

System.out.println("Radius must be positive");

}

}

В приведённом примере r радиус окружности – переменная закрытого типа (private), доступ к ней возможен через методы открытого типа (public)getR()и setR()

Наследование

Наследование— это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствованной функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс— потомком, наследником, производным классом или подклассом.

Пример:

// две окружности

classTwoCircleextendsCircle{

publicdoublex1; // абсциссацентравторойокружности

publicdoubley1; // ординатацентравторой окружности

publicdoubler1; // радиусвторой окружности

⋮

publicvoidprintCircle(){

System.out.println("Перваяокружностьсцентром("+x+";"+y+")ирадиусом"+r);

System.out.println("Втораяокружностьсцентром("+x1+";"+y1+")ирадиусом"+r1);



}



}

Полиморфизм

Полиморфизм— это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Это позволяет использовать метод с одинаковым именем, выполняющий разные действия в зависимости от того, какой объект его вызывает.

Пример:

1 Circle c1 = newCircle();

2 TwoCirclec2 = newTwoCircle();

3 c1.printCircle();

4 c2.printCircle();

Метод printCircle() в третьей строке относится к объекту c1класса Circleи выводит на экран сведения об одной окружности, метод printCircle() в четвёртой строке относится к объекту c2 класса TwoCircle и выводит сведения о двух окружностях.

Методmain()

Один из классов приложения должен содержать метод main(). Для того, чтобы запустить приложение, метод main()вызывается Java-интерпретатором, иначе называемым виртуальной машиной Java (JVM – JavaVirtualMashine).

// класс, содержащийметод main

public classMain (){

public static voidmain(String[]args){

// создаём объект (окружность класса Circle)

Circleo1 =newCircle(10.2, 30.5, 25.0);

// выводим на экран параметры окружности

o1.printCircle();

// меняем расположение окружности

o1.moveCircle(100, 300);

// меняем радиус

o1.setR(132.5);

// выводим на экран обновлённые параметры окружности

o1.printCircle();

}

}

Задание:

1. Разработать суперкласс в соответствии с вариантом задания.

2. В суперклассе определить заданные поля и методы.

3. Описать конструктор суперкласса, определяющий значения полей.

4. Разработать три класса-потомка описанного выше суперкласса в соответствии с вариантом задания.

5. Определить, если это необходимо, дополнительные поля и методы подклассов, а также методы, переопределяющие методы суперкласса.

6. В каждом подклассе определить одно закрытое поле по вашему усмотрению и обеспечить вывод значения этого поля.

7. Создать класс, содержащий метод main(), в котором:

ü описать четыре объектные ссылки на объекты четырёх описанных выше классов;

ü создать четыре объекта описанных выше классов;

ü создать массив из четырёх элементов, тип которых определяется суперклассом;

ü присвоить четырем элементам массива ссылки на объекты описанные выше;

ü произвести действия со всеми элементами массива переопределёнными методами;

ü предусмотреть вывод результатов.

Порядок выполнения работы:

1. Запустить среду Eclipse, установленную на компьютере.

2. Создать новый проект (FileÞNewÞJavaProject). Указать его название и местоположение.

3. Создать суперкласс (FileÞNewÞClass). Добавить его описание (конструктор, поля и методы).

4. Создать поочерёдно потомки суперкласса (FileÞNewÞClass).

Примечание 1: не забыть после создания класса-потомка добавить к его имени указание на то, что это подкласс суперкласса …extends…

5. Добавить их описание (собственные поля и методы).

6. Создать класс, содержащий метод main().

Примечание2:при создании класса поставить крыжик в поле [publicstaticvoidmain(String[] args)].

7. Скомпилировать и запустить на выполнение методmain().

8. При необходимости исправить найденные ошибки и повторить п.7.

9. Оформить отчёт.

10. Сдать лабораторную работу.

Содержание отчёта:

1. Номер, название и цель лабораторной работы.

2. Задание по варианту.

3. Описание суперкласса и подклассов: их полей и методов.

4. Тексты классов и класса, содержащего метод main().

5. Результаты работы программы.

6. Описание полученных результатов.

7. Вывод по проделанной работе.

Контрольные вопросы:

1. В чём заключается преимущество объектно-ориентированного программирования?

2. Что такое инкапсуляция.

3. Для чего применяется наследование?

4. В чём преимущества полиморфизма?

5. Поясните структуру класса в языке Java.

6. Для чего необходим метод main()?

7. Какие методы доступа в языке Java вы знаете?

Вариант 2 - мобильное устройство.

Комментарии: Зачёт.

Размер файла: 156,7 Кбайт
Фаил: Упакованные файлы (.rar)
-------------------
Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные!
Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку.
Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот.
-------------------

   Скачать

   Добавить в корзину


        Коментариев: 0


Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них.
Опять не то? Мы можем помочь сделать!

Некоторые похожие работы:

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

Не можешь найти то что нужно? Мы можем помочь сделать! 

От 350 руб. за реферат, низкие цены. Просто заполни форму и всё.

Спеши, предложение ограничено !



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

Страницу Назад

  Cодержание / Технология разработки телекоммуникационных сервисов / Технология разработки телекоммуникационных сервисов. Лабораторная работа1. 2вариант
Вход в аккаунт:
Войти

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт


Способы оплаты:
UnionPay СБР Ю-Money qiwi Payeer Крипто-валюты Крипто-валюты


И еще более 50 способов оплаты...
Гарантии возврата денег

Как скачать и покупать?

Как скачивать и покупать в картинках


Сайт помощи студентам, без посредников!