это быстро и бесплатно
Оформите заказ сейчас и получите скидку 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 заданиями. Контролируйте процесс написания работы в режиме онлайн
Теория вероятностей 9 класс , тесты
Решение задач, Теория вероятностей и математическая статистика
Срок сдачи к 23 февр.
Написать индивидуальное сообщение на тему: средние века
Другое, Мировая Отечественная художественная культура
Срок сдачи к 23 февр.
Отчёт полный факторный эксперимент первого порядка пфэ
Другое, Методология, электротехника
Срок сдачи к 23 февр.
Выполнить курс "Начертательная геометрия и инженерная графика 2.2". М-08603
Контрольная, Начертательная геометрия и инженерная графика
Срок сдачи к 21 мар.
Конфигурирование и настройка аппаратно-программных офисных...
Курсовая, МДК, информатика, электротехника
Срок сдачи к 24 февр.
Организация местного самоуправления( на примере своего поселения, муниципального района, городского округа)
Реферат, Муниципальное управление и местное самоуправление
Срок сдачи к 12 мар.
Презентация на 18 слайдов
Презентация, Стратегический менеджмент и управление проектами в государственном управлении
Срок сдачи к 3 апр.
И. В. Витте, Выбрать тему, сделать задание по рекомендациям
Курсовая, Гражданское право
Срок сдачи к 15 мая
Дипломная работа на тему «Методика применения компьютерных обучающих программ на уроках английского языка»
Диплом, Педагогика и Английский язык
Срок сдачи к 13 апр.
Заполните форму и узнайте цену на индивидуальную работу!