это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
ID (номер) заказа
1737858
Ознакомительный фрагмент работы:
Лабораторная работа № 1
Задание
Создать консольное приложение, удовлетворяющее следующим требованиям:
Использовать возможности ООП: классы, наследование, полиморфизм, инкапсуляция.
Каждый класс должен иметь отражающее смысл название и информативный состав.
Наследование должно применяться только тогда, когда это имеет смысл.
При кодировании должны быть использованы соглашения об оформлении кода java code convention.
Классы должны быть грамотно разложены по пакетам.
Консольное меню должно быть минимальным.
Для хранения параметров инициализации можно использовать файлы.
5. Звукозапись. Определить иерархию музыкальных композиций. Записать на диск сборку. Подсчитать продолжительность. Провести перестановку композиций диска на основе принадлежности к стилю. Найти композицию, соответствующую заданному диапазону длины треков.
Ход работы
Определим состав и структуру классов, которые будут использоваться в разрабатываемом приложении. Эти классы будут моделировать такие сущности, как музыкальная композиция, стиль, сборка, диск и т.д. Обязательным атрибутом всех этих классов является наименование, поэтому целесообразно для всех этих классов создать базовый абстрактный класс BaseObject, который будет содержать поле name типа String, чтобы избежать определения этого поля в каждом классе. Исходный код класса приведён ниже.
package Objects;
/** Базовый объект */
public abstract class BaseObject implements Cloneable{
protected String name;
/** Инициализирует экземпляр класса */
public BaseObject(){};
/**
* Инициализирует экземпляр класса
* @param name Наименование
*/
public BaseObject(String name) {
this.name = name;
}
/** Создаёт и возвращает копию данного объекта */
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
/** Возвращает строковое представление объекта */
@Override
public String toString() {
return name;
}
/**
* Возвращает наименование объекта
* @return Наименование объекта
*/
public String getName() {
return name;
}
}
Данный класс, как и все остальные классы, моделирующие объекты, располагается в специально созданном пакете Objects. Кроме поля name, класс содержит конструктор с данным параметром и конструктор по умолчанию, а также метод getName(), возвращающий наименование объекта. Поскольку для записи на диск необходима операция клонирования треков, исполнителей, стилей и других объектов, в классе переопределён метод clone() и реализован интерфейс Cloneable, а для отображения объекта в виде строки на консоли переопределён метод toString().
Перейдём к созданию классов, представляющих конкретные объекты. В первую очередь для работы программы необходим класс, моделирующий музыкальную композицию - Track. Этот класс будет наследоваться от класса BaseObject и иметь следующие собственные поля:
стиль (style);
исполнитель (performer);
продолжительность (duration).
Для представления стиля создадим отдельный класс MusicStyle, также унаследованный от кл...
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Выполнить Отчет по практике, Менеджмент, решения задач
Отчет по практике, Менеджмент
Срок сдачи к 4 авг.
Написать курсовую работу
Курсовая, Управление в технических системах, теория автоматического управления
Срок сдачи к 7 авг.
Составить предложения 4 штуки чтобы в них были слова: дождь,море, рука
Услуги корректора, Русский язык
Срок сдачи к 3 авг.
нужны две статьи на разные уникальные актуальные темы по архитектуре...
Статья, Архитектура
Срок сдачи к 3 авг.
Написать отчет по учебной практике. Есть только методичка и название...
Отчет по практике, Реклама и PR
Срок сдачи к 8 авг.
«Кто понимает не оценивает, а кто оценивает не понимает» (Владимир...
Эссе, Психология
Срок сдачи к 7 авг.
Задание лабораторной работы - учебно-исследовательская экономическая работа для вкр
Лабораторная, Учебно-исследовательская экономическая работа для ВКР
Срок сдачи к 7 авг.
Студенческая молодёжь в цифровой среде: освоение и различное использование.
Курсовая, Социология
Срок сдачи к 14 авг.
Составить общее описание предприятия (организации) – название
Отчет по практике, банков
Срок сдачи к 7 авг.
1. Теоретическая часть: (является общим для всех студентов)
Контрольная, Арбитражный
Срок сдачи к 10 сент.
Выполнить отчет по практике, 6 семестр, менеджмент, технологическая (проектно-технологическая) практика | п. в | производственная практика
Отчет по практике, Менеджмент
Срок сдачи к 7 авг.
1. источники уголовного права фрг. 2. тест 10 вопросов + заполнить титульник работы по шаблону
Контрольная, Уголовное право зарубежных стран
Срок сдачи к 20 сент.
Заполните форму и узнайте цену на индивидуальную работу!