>Цели:
Изучить отношения ассоциации и зависимости, получить навыки реализации ассоциации и зависимости на С++.
1. Краткие теоретические сведения
Типы отношений между классами
Известны три основных типа отношений между классами. Во-первых, это отношение «обобщение/специализация» (общее и частное), известное как «is-a». Розы это цветы, т.е. розы являются специализированным частным случаем, подклассом более общего класса «цветы». Во вторых, это отношение «целое/часть», известное как «part of». Так, лепестки являются частью цветов. В-третьих, это смысловые отношения (ассоциации). Например, розы и свечи – и то, и другое можно использовать для украшения стола.
Языки программирования выработали несколько общих подходов к выражению отношений этих трех типов. В частности, большинство объектно-ориентированных языков непосредственно поддерживают разные комбинации следующих видов отношений:
ассоциация;
наследование;
агрегация;
использование;
параметризация.
Выбор между агрегацией и наследованием
Среди видов отношений между классами наиболее часто встречаются наследование и агрегация.
Наследование применяется в тех случаях, когда один класс является уточненной, более специализированной формой другого. Чтобы определить, является ли понятие X уточненным вариантом понятия Y, можно составить предложение «X является экземпляром Y». Если утверждение звучит корректно (т.е. есть соответствует вашим представлениям о решаемой задаче), то можно заключить, что X и Y связаны отношением наследования.
Отношение агрегации («включать как часть») имеет место, когда второе понятие является составной частью первого, но оба эти понятия не совпадают ни в каком смысле независимо от уровня общности абстракции. Например, автомобиль Car имеет двигатель Engine, хотя ясно, что это не тот случай, когда Car является экземпляром Engine или Engine является экземпляром Car. Класс СCar тем не менее является экземпляром класса автомобилей СVehicle, который в свою очередь является экземпляром класса транспортных средств СMeansOfTransportation. Аналогично проверке для наследования, чтобы проверить отношение агрегации, можно составить предложение «X включает Y как часть» и оценить его корректность.
В большинстве случаев различие между агрегацией и наследованием очевидно.
2. Практическое задание (100%)
Для задачи индивидуального варианта создать программу, реализующую отношение агрегации или композиции. Для всех закрытых полей определить метод установки значений (при недопустимых аргументах возвращать «false» и выдавать текст ошибки на экран) и метод чтения. Все классы следует наделить конструкторами и деструктором. Необходимо явно реализовать конструктор копирования и перегрузить оператор присваивания
Варианты заданий
1. Класс «КОМНАТА», содержит закрытые поля: сведения о метраже, высоте потолков и количестве окон и метод подсчета площади комнаты. Класс «КВАРТИРА», содержит закрытые поля: номер этажа, объекты класса «КОМНАТА», метод подсчета площади квартиры и метод вывода информации о комнатах квартиры.
2. Класс «СТУДЕНТ» содержит закрытые поля: номер студенческого билета, Фамилия, Имя, Отчество, дата рождения, массив из пяти оценок и метод подсчета среднего балла. Класс «СТУДЕНЧЕСКАЯ ГРУППА» содержит закрытые поля: название группы, курс, объекты класса «СТУДЕНТ», метод подсчета среднего балла для группы и метод вывода списка студентов, отсортированный по фамилиям в алфавитном порядке.
3. Класс «АВТОМОБИЛЬ» содержит закрытые поля: гос. номер, цвет, фамилия владельца и признак присутствия на стоянке и метод вывода сведений об автомобиле. Класс «АВТОСТОЯНКА», содержит закрытые поля: название автостоянки, объекты класса «АВТОМОБИЛЬ», методы поиска автомобиля по разным критериям и методы вывода списка присутствующих и отсутствующих на стоянке автомобилей.
4. Класс «ЗАПИСЬ» содержит закрытые поля: фамилия, имя, номер телефона, дата рождения. Класс «ЗАПИСНАЯ КНИЖКА», содержащий закрытые поля: фамилия и инициалы владельца, объекты класса «ЗАПИСЬ», метод поиска номера телефона и даты рождения по фамилии и имени, а также метод получения списка людей, номер телефона которых начинается на три заданные цифры.
5. Класс «САМОЛЕТ» содержит закрытые поля: шестизначный номер рейса,
название пункта назначения, время отправления и метод вывода сведений о самолете. Класс «АЭРОПОРТ» содержит закрытые поля: название аэропорта, объекты класса «САМОЛЕТ», метод поиска информации о самолетах, отправляющихся в течении часа после введенного с клавиатуры времени и метод вывода информации о самолетах, отправляющихся в заданный пункт назначения. Информация должна быть отсортирована по времени отправления.
6. Класс «КОМПЛЕКТУЮЩЕЕ» содержит закрытые поля: название, цена, гарантийный срок и метод вывода сведений о комплектующем. Класс «КОМПЬЮТЕР» содержит закрытые поля: серийный номер, марка, объекты класса «КОМПЛЕКТУЮЩЕЕ», метод замены комплектующих компьютера и метод вывода списка комплектующих компьютера.
7. Класс «ПЕСНЯ» содержит закрытые поля: номер песни, название песни, композитор, поэт, исполнитель и метод вывода сведений о песне. Класс «ДИСКИ» содержит закрытые поля: название диска, цена, объекты класса «ПЕСНЯ», метод поиска песни по названию, метод поиска песни по исполнителю и метод вывода списка песен диска, упорядоченный по названию песни.
8. Класс «ПОЕЗД» содержит закрытые поля: номер поезда, название пункта назначения, время отправления и метод вывода сведений о поезде. Класс «ВОКЗАЛ» содержит закрытые поля: название вокзала, объекты класса «ВОКЗАЛ», метод поиска информации о поездах, отправляющихся после введенного с клавиатуры времени и метод вывода информации о поездах, отправляющихся в заданный пункт назначения. Информация должна быть отсортирована по времени отправления.
9. Класс «ТОВАР» содержит закрытые поля: название товара, стоимость единицы товара в рублях, количество единиц товара и метод подсчета стоимости товара. Класс «СКЛАД» содержит закрытые поля: название склада и объекты класса «ТОВАР», метод подсчета стоимости всего товара и метод вывода списка товаров, отсортированный по названию товара.
10. Класс «ЛЕКАРСТВО» содержит закрытые поля: название лекарства, цена, показания к применению, противопоказания и метод вывода сведений о лекарстве. Класс «АПТЕКА» содержит закрытые поля: название аптеки, номер аптеки, объекты класса «ЛЕКАРСТВО», метод поступления новых лекарств в аптеку, метод поиска лекарства по названию и метод вывода списка лекарств аптеки.
11. Класс «АВТОБУС» содержит закрытые поля: номер автобуса название пункта назначения, время отправления и метод вывода сведений об автобусе. Класс «АВТОВОКЗАЛ» содержит закрытые поля: название автовокзала, объекты класса «АВТОБУС», метод поиска информации об автобусах, отправляющихся после введенного с клавиатуры времени в заданный пункт назначения. Информация должна быть отсортирована по времени отправления.
12. Класс «ЖИВОТНОЕ» содержит закрытые поля: кличка животного, название вида, возраст, вес и метод вывода сведений о животном. Класс «ЗООПАРК» содержит закрытые поля: название зоопарка, объекты класса «ЖИВОТНОЕ», метод поступления новых животных в зоопарк, метод убытия животных из зоопарка и метод вывода списка животных зоопарка.
3. Список рекомендуемой литературы
1. Павловская Т. А.C/C++. Программирование на языке высокого уровня : для магистров и бакалавров : учеб. для вузов / Т. А. Павловская. — Гриф МО. — Санкт-Петербург: Питер, 2013. — 460 с. : ил.
2. Professional C++, 3rd Edition. Marc Gregoire. ISBN: 978-1-118-85805-9. Paperback 984 pages. September 2014
4. Контрольные вопросы
1. В чем разница между композицией и агрегацией?
2. В чем разница между наследованием и агрегацией?
3. В случае реализации отношений агрегации и композиции как может храниться информация о связанных объектах? В чем отличие?
4. Привести 3 примера отношения агрегации.
5. Привести 3 примера отношения композиции.
или напишите нам прямо сейчас
- Я.Мессенджер
- ВКонтакте
- Одноклассники
- Telegram
Прикрепленные файлы:
Администрация сайта не рекомендует использовать бесплатные работы для сдачи преподавателю. Эти работы могут не пройти проверку на уникальность. Узнайте стоимость уникальной работы, заполните форму ниже: Узнать стоимость Скачать файлы:
Комментарии
Оставить комментарий
Валера 14 минут назад
добрый день. Необходимо закрыть долги за 2 и 3 курсы. Заранее спасибо.
Иван, помощь с обучением 12 минут назад
Валерий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Fedor 2 часа назад
Здравствуйте, сколько будет стоить данная работа и как заказать?
Иван, помощь с обучением 2 часа назад
Fedor, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алина 4 часа назад
Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения
Иван, помощь с обучением 4 часа назад
Алина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алена 7 часов назад
Добрый день! Учусь в синергии, факультет экономики, нужно закрыт 2 семестр, общ получается 7 предметов! 1.Иностранный язык 2.Цифровая экономика 3.Управление проектами 4.Микроэкономика 5.Экономика и финансы организации 6.Статистика 7.Информационно-комуникационные технологии для профессиональной деятельности.
Иван, помощь с обучением 7 часов назад
Алена, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Игорь Петрович 10 часов назад
К утру необходимы материалы для защиты диплома - речь и презентация (слайды). Сам диплом готов, пришлю его Вам по запросу!
Иван, помощь с обучением 10 часов назад
Игорь Петрович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 1 день назад
У меня есть скорректированный и согласованный руководителем, план ВКР. Напишите, пожалуйста, порядок оплаты и реквизиты.
Иван, помощь с обучением 1 день назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Илья 1 день назад
Здравствуйте) нужен отчет по практике. Практику прохожу в доме-интернате для престарелых и инвалидов. Все четыре задания объединены одним отчетом о проведенных исследованиях. Каждое задание направлено на выполнение одной из его частей. Помогите!
Иван, помощь с обучением 1 день назад
Илья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Alina 2 дня назад
Педагогическая практика, 4 семестр, Направление: ППО Во время прохождения практики Вы: получите представления об основных видах профессиональной психолого-педагогической деятельности; разовьёте навыки использования современных методов и технологий организации образовательной работы с детьми младшего школьного возраста; научитесь выстраивать взаимодействие со всеми участниками образовательного процесса.
Иван, помощь с обучением 2 дня назад
Alina, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Влад 3 дня назад
Здравствуйте. Только поступил! Операционная деятельность в логистике. Так же получается 10 - 11 класс заканчивать. То-есть 2 года 11 месяцев. Сколько будет стоить семестр закончить?
Иван, помощь с обучением 3 дня назад
Влад, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Полина 3 дня назад
Требуется выполнить 3 работы по предмету "Психология ФКиС" за 3 курс
Иван, помощь с обучением 3 дня назад
Полина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 4 дня назад
Здравствуйте. Нужно написать диплом в короткие сроки. На тему Анализ финансового состояния предприятия. С материалами для защиты. Сколько будет стоить?
Иван, помощь с обучением 4 дня назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Студент 4 дня назад
Нужно сделать отчёт по практике преддипломной, дальше по ней уже нудно будет сделать вкр. Все данные и все по производству имеется
Иван, помощь с обучением 4 дня назад
Студент, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Олег 5 дней назад
Преддипломная практика и ВКР. Проходила практика на заводе, который занимается производством электроизоляционных материалов и изделий из них. В должности менеджера отдела сбыта, а также занимался продвижением продукции в интернете. Также , эту работу надо связать с темой ВКР "РАЗРАБОТКА СТРАТЕГИИ ПРОЕКТА В СФЕРЕ ИТ".
Иван, помощь с обучением 5 дней назад
Олег, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Анна 5 дней назад
сколько стоит вступительные экзамены русский , математика, информатика и какие условия?
Иван, помощь с обучением 5 дней назад
Анна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Владимир Иванович 5 дней назад
Хочу закрыть все долги до 1 числа также вкр + диплом. Факультет информационных технологий.
Иван, помощь с обучением 5 дней назад
Владимир Иванович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Василий 6 дней назад
сколько будет стоить полностью закрыть сессию .туда входят Информационные технологий (Контрольная работа, 3 лабораторных работ, Экзаменационный тест ), Русский язык и культура речи (практические задания) , Начертательная геометрия ( 3 задачи и атестационный тест ), Тайм менеджмент ( 4 практических задания , итоговый тест)
Иван, помощь с обучением 6 дней назад
Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Марк неделю назад
Нужно сделать 2 задания и 1 итоговый тест по Иностранный язык 2, 4 практических задания и 1 итоговый тест Исследования рынка, 4 практических задания и 1 итоговый тест Менеджмент, 1 практическое задание Проектная деятельность (практикум) 1, 3 практических задания Проектная деятельность (практикум) 2, 1 итоговый тест Проектная деятельность (практикум) 3, 1 практическое задание и 1 итоговый тест Проектная деятельность 1, 3 практических задания и 1 итоговый тест Проектная деятельность 2, 2 практических заданий и 1 итоговый тест Проектная деятельность 3, 2 практических задания Экономико-правовое сопровождение бизнеса какое время займет и стоимость?
Иван, помощь с обучением неделю назад
Марк, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф