это быстро и бесплатно
Оформите заказ сейчас и получите скидку 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 заданиями. Контролируйте процесс написания работы в режиме онлайн
Требуется разобрать ст. 135 Налогового кодекса по составу напогового...
Решение задач, Налоговое право
Срок сдачи к 5 дек.
Школьный кабинет химии и его роль в химико-образовательном процессе
Курсовая, Методика преподавания химии
Срок сдачи к 26 дек.
Реферат по теме «общественное мнение как объект манипулятивного воздействий. интерпретация общественного мнения по п. бурдьё»
Реферат, Социология
Срок сдачи к 9 дек.
Выполнить курсовую работу. Образовательные стандарты и программы. Е-01220
Курсовая, Английский язык
Срок сдачи к 10 дек.
Изложение темы: экзистенциализм. основные идеи с. кьеркегора.
Реферат, Философия
Срок сдачи к 12 дек.
Заполните форму и узнайте цену на индивидуальную работу!