Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб_7 Головков И.Е. 12002108 Адаптер

.docx
Скачиваний:
4
Добавлен:
26.06.2024
Размер:
168.63 Кб
Скачать

ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ

ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»

(НИУ «БелГУ»)

ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ

Кафедра информационных и робототехнических систем

Отчет по лабораторной работе № 7 по дисциплине «Методы и средства проектирования информационных систем и технологий»

Вариант № 3

Тема работы «Адаптер»

студента очного отделения

3 курса 12002108 группы

Головкова Игоря Евгеньевича

Проверил:

асс. Пузырев Никита Сергеевич

БЕЛГОРОД, 2024

Вариант 3:

Создать интерфейс IPlayer содержащий метод void Play(string trackName)

Создать класс Person содержащий методы void PlayTrack(IPlayer player, string trackName) использующий соответствующий метод передаваемого объекта.

Создать класс, реализующий работу кассетного плеера. Для воспроизведения песни должны быть выполнены методы SetTrack(string trackName) и Play(). Метод Play выводит в консоль сообщение с названием проигрываемой песни.

Создать адаптер адаптирующий интерфейс класса касетного плеера для использования в методе PlayTrack класса Person.

Предварительно построить UML диаграмму классов, используемых в данной системе.

Диаграмма классов для программы представлена на рисунке 1.

Рисунок 1 – Диаграмма классов

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

Рисунок 2 – Результат работы программы, использующей паттерн адаптер

// Интерфейс IPlayer public interface IPlayer { void play(String trackName); }

// Класс Player @Setter public class Player { private String trackName; public void play() { System.out.println(STR."Играет песня: \{trackName}"); } }

// Класс Person public class Person { public void playTrack(IPlayer player, String trackName) { player.play(trackName); } } // Класс PlayerAdapter public class PlayerAdapter implements IPlayer { Player player = new Player(); @Override public void play(String trackName) { player.setTrackName(trackName); player.play(); } }