Реализовать консольное приложение, удовлетворяющее следующим требованиям:
-
Использовать возможности ООП: классы, наследование, полиморфизм, инкапсуляция.
-
Каждый класс должен иметь исчерпывающее смысл название и информативный состав.
-
Наследование должно применяться только тогда, когда это имеет смысл.
-
При кодировании следует придерживаться соглашения об оформлении кода code convention.
-
Классы должны быть грамотно разложены в структуре проекта.
-
Работа с консолью или консольное меню должно быть минимальным.
-
Для хранения параметров инициализации можно использовать файлы.
-
Возможно (не обязательно) следование подходящему по смыслу задачи паттерну проектирования.
-
Приветствуется более детальная проработка предметной области.
-
Новогодний подарок. Определить иерархию конфет и прочих сладостей. Создать несколько объектов-конфет. Собрать детский подарок с определением его веса. Провести сортировку конфет в подарке на основе одного из параметров. Найти конфету в подарке, соответствующую заданному диапазону содержания сахара.
-
Шеф-повар. Определить иерархию овощей. Сделать салат. Посчитать калорийность. Провести сортировку овощей для салата на основе одного из параметров. Найти овощи в салате, соответствующие заданному диапазону калорийности.
-
Транспорт. Определить иерархию подвижного состава железнодорожного транспорта. Создать пассажирский поезд. Посчитать общую численность пассажиров и багажа. Провести сортировку вагонов поезда на основе уровня комфортности. Найти вагоны в поезде, соответствующие заданному диапазону параметров числа пассажиров.
-
Авиакомпания. Определить иерархию самолетов. Создать авиакомпанию. Посчитать общую вместимость и грузоподъемность. Провести сортировку самолетов компании по дальности полета. Найти самолет в компании, соответствующий заданному диапазону параметров потребления горючего.
-
Таксопарк. Определить иерархию легковых автомобилей. Создать таксопарк. Посчитать стоимость автопарка. Провести сортировку автомобилей парка по расходу топлива. Найти автомобиль в компании, соответствующий заданному диапазону параметров скорости.