|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.09.2008, 12:19 | #1 |
Пользователь
Регистрация: 25.09.2008
Сообщений: 40
|
Классы и наследование.
Добрый день, начал кодить на cpp, и, дойдя до классов и наследования, столкнулся с проблемой не понимания для чего это вообще нужно и как это вообще можно использовать, все примеры, что я видел, показывают механику, но не говорят зачем. Раньше кодил исключительно процедурами. Можете привести пример, в котором показывается фишка ооп или пример, где без ооп просто не обойтись?
|
25.09.2008, 14:25 | #2 | |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
Цитата:
поэтому ты создаешь класс "Б", наследуешь его от "А" и все его возможности, и добавляешь новые, по мимо тех, что имел класс "А". но зачастую, физически нет возможности изменить какой либо класс.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
|
25.09.2008, 15:25 | #3 |
Пользователь
Регистрация: 25.09.2008
Сообщений: 40
|
То есть классы нужны только если влом перебирать код? Больше они ни для чего не нужны?
|
25.09.2008, 15:47 | #4 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!
классы - одна из основополагающих идеологий ООП. подробнее смотри здесь
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. Последний раз редактировалось alexinspir; 25.09.2008 в 15:53. |
25.09.2008, 21:38 | #5 |
Пользователь
Регистрация: 25.09.2008
Сообщений: 40
|
Приведи пример, когда физически это невозможно)
|
25.09.2008, 22:07 | #6 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
библиотеки классов - самый явный пример.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
26.09.2008, 02:42 | #7 |
Пользователь
Регистрация: 19.09.2008
Сообщений: 14
|
если программа, которую ты пишешь, относительно небольшая, то классы тебе по большому счёту совсем не нужны, можно обойтись процедурами. ООП придумали для упрощения разработки сложных проектов, над которыми работает по меньшей мере десяток человек. Т.е. классы нужны не в том случае, когда один человек, уяснив задачу, сразу садиться писать код, а когда сначала идёт стадия планирования, составляются UML-диаграммы, пишутся детальные описания функциональности и поведения программы. Объекты классов по большому счёту соответствуют объектам реального мира, и поэтому работать над большим проектом легче. На примере простенькой программы, которая допустим решает или составляет судоку, ты действительно не поймёшь, зачем нужны эти классы. Но если взять к примеру doom3 , то пожалуй с использованием процедурного подхода, его было бы создавать раз в 5 сложнее. и тем не менее возможно. Итого: ООП придумали чтобы упростить программирование сложных запутанных проектов. и если ты видишь что можешь обойтись без классов, - следовательно в данном конкретном случае они тебе и не нужны.
|
26.09.2008, 02:51 | #8 |
Пользователь
Регистрация: 19.09.2008
Сообщений: 14
|
всегда можно обойтись процедурами или даже ассемблером, потому что в любом случае всё что пишется на языках высокого уровня, перегоняется в машинный код. Но писать виндовое приложение с кнопочками легче на С чем на ассемблере, и легче с использованием какого-нить IDE чем на WinAPI. Точно также С++ придумали, когда проекты стали настолько объёмными, что люди начали офигевать от размеров кода и путаться в своих же процедурах. И тем не менее всегда можно писать игру типа Stalker на чистом ассемблере, попутно разработав свои собственные функции для вывода 3-х мерной графики. Правда, на это уйдёт в лучшем случае лет 20.
|
26.09.2008, 20:25 | #9 |
Пользователь
Регистрация: 25.09.2008
Сообщений: 40
|
Ниукого не завалялось простенького примера по Полиморфизму? Просмотрел кучу примеров, не понятно...
|
27.09.2008, 16:03 | #10 |
Новичок
Джуниор
Регистрация: 26.08.2008
Сообщений: 1,010
|
про виртуальные и дружественные функции почитай
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конструктор, наследование, перегрузка операций | Lioness | Помощь студентам | 18 | 02.06.2008 20:44 |
Одиночное наследование Виртуальные функции | Brunette | Помощь студентам | 3 | 08.05.2008 19:23 |
Наследование: абстрактный класс | zak | Общие вопросы C/C++ | 4 | 22.12.2007 13:49 |