Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366

Не могу понять ООП

29.08.2013, 16:17. Показов 4933. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет Всем, не так давно дошел до ООП, вроде как бы все понятно, но есть несколько вопросов- увы учусь сам, спросить кроме Вас не у кого

Вопрос\рассуждение : Классы это как бы функции которые как бы описывают некий объект и взаимодействуют между собой так же как функции в структурном программировании. Каждый класс должен работать как бы играя роль какого то объекта в общей задаче?
Например пример построение лифта ( задачка с книги)
Я так понимаю что я должен сделать класс: человек;лифт и кнопки внутри лифта; здание с этажами...
Вот так я себе представляю взаимодействие классов:
Класс человек создает рандом человека в конструкторе и передает как бы себя ( этаж появления),объекту класса лифт (объект лифта объявлен в классе человека),класс лифт в конструкторе генерирует рандом нажатие кнопки внутри лифта и передает это классу здание, в классе здание хранится текущий этаж лифта и тот на который он якобы должен ехать, потом он перезаписывает переменную и все продолжается по кругу...

Я правильно понимаю ооп, а то мне кажется что я слишком все разбил и классов слишком много для такой задачи...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.08.2013, 16:17
Ответы с готовыми решениями:

Не могу понять задание по "ООП"
Добрый вечер! Задание вообщем не сложное и в реализации проблем не ощущаю, но никак не могу разобрать один момент: "Описать...

Стек на основе массива структур - эт как понять читаю литературу и не могу понять!
Стек статически (на основе массива структур). Пример структура "Товар" которая включает в себя: № по каталогу(ключ), Название, цена, срок...

ООП - задачка, понять и суметь. Разбор ошибок
Дан массив действительных чисел b1;…;b10 .. Найти сумму элементов расположенных после минимального элемента.Поля и данные - закрытого типа....

28
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
29.08.2013, 20:40
Студворк — интернет-сервис помощи студентам
Трудно решать много задач одновременно. Приведи код на структурах и опиши что он делает. А затем переводи его на классы (по частям), сохраняя функциональность. Когда переведешь, тогда начинай по шагам расширять функциональность. Не страшно, если что-то придется переделывать - цель ведь не получить ответ самым коротким способом, цель - научиться работать с классами.
0
12 / 10 / 1
Регистрация: 12.03.2012
Сообщений: 127
29.08.2013, 20:46
zer0mail
Тогда он просто поймёт реализацию, но никак не идеологию ООП.
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
29.08.2013, 21:08
Глядя на шаблоны, STL, умные указатели и прочие навороты он поймет еще меньше и только время потратит, имхо. Хорошо, если при этом самооценка не снизится ниже плинтуса

Нетрудно запомнить слова "инкапсулящия", "наследование", "полимофизм", но важнее понять, что за ними стоит, для чего они были созданы, как их применять. В принципе, любую задачу, которую можно сделать с ними, можно сделать и без них, только усилий потребуется больше.
0
12 / 10 / 1
Регистрация: 12.03.2012
Сообщений: 127
29.08.2013, 21:11
Из-за этого я и предложил просто сменить книгу.
0
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366
29.08.2013, 21:13  [ТС]
Ну насчет самооценки, то она уже под упала, но я не сдамся)) я раз 20-30 перечитаю пока не пойму
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
29.08.2013, 21:16
И вот когда программист глазами увидит и кончиками пальев почувствуют, что кода стало меньше и расширение функционала требует не 2 дня, а два часа, понимание идеологии придет.

Добавлено через 2 минуты
Цитата Сообщение от MousePro Посмотреть сообщение
Ну насчет самооценки, то она уже под упала, но я не сдамся)) я раз 20-30 перечитаю пока не пойму
Перечитывать мало проку, надо писать код, наступать на грабли (по возможности однократно) и двигаться вперед. Путь я описал, в пойдешь им или нет - тебе решать
2
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366
29.08.2013, 21:28  [ТС]
Цитата Сообщение от zer0mail Посмотреть сообщение


Перечитывать мало проку, надо писать код, наступать на грабли (по возможности однократно) и двигаться вперед. Путь я описал, в пойдешь им или нет - тебе решать
http://www.williamspublishing.com/21-days.html
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
29.08.2013, 21:28
Цитата Сообщение от zer0mail Посмотреть сообщение
Перечитывать мало проку, надо писать код, наступать на грабли
+1
Грабли, грабли и только грабли !
Это должно быть девизом начинающего (и не очень) программиста.
Не наступив на грабли, никогда не поймешь некоторых вещей.
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
29.08.2013, 21:44
У Н.Вирта есть замечательная книга: алгоритмы + структуры данных = программы, т.е программы состоят из структур данных и алгоритмов их обработки. Причем данные "важнее" в том смысле, что лучше иметь хорошие структуры данных и средние алгоритмы обработки, чем наоборот. И еще он говорил: "покажите мне Ваши таблицы (описывающие структуры данных) и ваши блок-схемы (описывающие алгоритмы) скорей всего не понадобятся, т.к. они буду очевидны" (я так понимаю - для данной задачи, которая известна).

В Си данные хранят в виде стуктур, а алгоритмы- это функции. Так вот, класс (упрощенно говоря) - это структура и работающие с ней функции "в одном флаконе".
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2013, 21:44

Не могу сделать полиморфизм. Не могу до конца понять пример по этому поводу
Есть такая задача: Класс Animal должен быть абстрактным, имеет имя и вес. Класс Reptile имеет habitate, который держит в себе среду...

Не могу понять почему не могу считать символьный ряд через cin.getline
Не могу понять почему не могу считать символьный ряд через cin.getline.Помогите позязя. #define _CRT_SECURE_NO_WARNINGS #include...

ООП C++ НЕ могу понять задание
Создать класс - целое число. В закрытой части описать поля: систему счисления и строка символов, соответствует числу. Определить...

Пытаюсь понять комбинаторику.Не могу понять какую формулу использовать
Добрый день. Уже второй день бьюсь над комбинаторикой. Проблема стоит в том, что не могу понять, какую формулу нужно...

Как понять поставленную задачу. Не могу понять этот полиморфизм?
A software academy teaches two types of courses: local courses that are held in some of the academy’s local labs and offsite courses held...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru