Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.55/155: Рейтинг темы: голосов - 155, средняя оценка - 4.55
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.08.2016, 14:34
Студворк — интернет-сервис помощи студентам
Я хз что вы имеете ввиду и при чем тут ООП.
Очевидно что Bullet.draw() будет вызываться "не изнутри себя самого" а в каком-то OnPaint с остальными объектами причем внутри beginPaint/endPaint

Я уже не говорю что drawCircle может как-то оптимизировать прорисовку.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.08.2016, 14:34
Ответы с готовыми решениями:

Что даёт использование классов (и шире - ООП) в языке программирования С++? (2)
Продолжение темы

Концепция ООП и их использование в современных языках программирования
Дали курсовую на эту тему. Подскажите, какую литературу, которую можно бы было использовать пр написании. Спасибо. :з

Что дает использование сетки Бутстрапа
Ведь даже если элементам задать margin в процентах плюс ширину в процентах,то элементы перемещаются соотвественно с уменьшением экрана. ...

992
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
19.08.2016, 14:36
Цитата Сообщение от _Ivana Посмотреть сообщение
И вот это и есть волшебная инкапсуляция и победа?
Я вообще без понятия что ты тут имеешь в виду. Даже не буду гадать. Но вот в твоем коде на haskell'е нет никакой инкапсуляции, поэтому textstate можно изменить таким образом, что текст изменится, а команда на undo добавлена не будет. Как решить эту проблему в haskell'е ?

Цитата Сообщение от _Ivana Посмотреть сообщение
А если каждая пуля будет рисовать сама себя, у нас графика не будет тормозить?
А с чего бы она должна начать тормозить?

Цитата Сообщение от _Ivana Посмотреть сообщение
х, надо выносить рисование в контроллер и делать MVP-архитектуру, говорите?
Не в контроллер, а во view. Можно выносить, а можно в общем-то и не выносить. Надо смотреть по обстоятельствам, снизит ли это сложность систем

Цитата Сообщение от _Ivana Посмотреть сообщение
И критику ООП от того же Степанова мы считаем глупостью?
Степанов занимается предметной областью в которой ООП в общем-то и не нужен особо. Так что это не показатель
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
19.08.2016, 14:40
Цитата Сообщение от Voivoid Посмотреть сообщение
А если каждая пуля будет рисовать сама себя, у нас графика не будет тормозить?
Она только логически сама себя рисует, физически все совсем по другому происходит.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
19.08.2016, 14:45
Цитата Сообщение от Voivoid Посмотреть сообщение
Как решить эту проблему в haskell'е ?
В haskell можно вынести отдельный функционал в отдельный модуль, в котором определять что будет экспортироваться, а что не будет - если стоит параноидальная задача обезопасить состояние структур от некорректного изменения глупым программистом. Много стандартных библиотечных пакетов так и делают. Data.Map, к примеру, именно так и скрывает реализацию, вынося только публичное АПИ.
Цитата Сообщение от Voivoid Посмотреть сообщение
Степанов занимается предметной областью в которой ООП в общем-то и не нужен особо. Так что это не показатель
И снова отлично. Эта фраза наконец-то даст нам шанс на 7-й странице тему вплотную подойти к самому вопросу - а где, в каких областях ООП то и нужен особо? То есть - заголовок темы, но другими словами
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.08.2016, 14:48
Цитата Сообщение от _Ivana Посмотреть сообщение
можно вынести отдельный функционал в отдельный модуль
Думаю этого недостаточно при больших объемах.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
19.08.2016, 14:51
Почему? Насколько я знаю, в той же джаве (не знаю как в плюсах) принята традиция (и сама ИДЕ это навязывает) писать каждый класс в отдельном файле, и также задавать имя файла именем класса. То есть полностью то же самое.
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
19.08.2016, 14:51
Цитата Сообщение от _Ivana Посмотреть сообщение
а где, в каких областях ООП то и нужен особо?
Там, где нужна и инкапсюлация и полиморфизм и наследование. Степанову для своих задач хватало инкапсуляции и полиморфизама, поэтому ему ООП был не нужен
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
19.08.2016, 14:54
Цитата Сообщение от Mr.X Посмотреть сообщение
Классы - это инструмент объектно-ориентированного проектирования. Изучая только язык, вы не поймете для чего они нужны. По ООП книжки нужно читать.
По сути если проект не большой все просто - максимальная декомпозиция но не нарушая GRASP.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
19.08.2016, 14:55
У меня такое ощущение, что мне для моих задач тоже не нужно наследование. К тому же, 4 бандита тоже рекомендуют его не использовать. А инкапсуляция с полиморфизмом в каждой аптеке уже есть (в том же haskell). Так получается, что по теме - ООП дает только наследование, которое по возможности нужно избегать, и которое требуется в 1% задач? (trollface)
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
19.08.2016, 14:56
Цитата Сообщение от _Ivana Посмотреть сообщение
а где, в каких областях ООП то и нужен особо?
Не так вопрос ставите. Один и тот же результат можно получить разными подходами (вплоть до hex-редактора). Поэтому вопрос должен звучать так: "В каких задачах ООП подход замедлит разработку, и что, в таком случае, ее ускорит?"
2
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
19.08.2016, 14:59
Цитата Сообщение от Voivoid Посмотреть сообщение
Степанову для своих задач хватало инкапсуляции и полиморфизама, поэтому ему ООП был не нужен
А если бы понадобилось наследование то без ООП не обойтись? Если Степанов справлялся без ООП при нужде инкапсуляции и полиморфизма, неужели он бы и наследование не синтезировал?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.08.2016, 15:05
Цитата Сообщение от _Ivana Посмотреть сообщение
К тому же, 4 бандита тоже рекомендуют его не использовать.
Ссылку можно?
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
19.08.2016, 15:05
Цитата Сообщение от _Ivana Посмотреть сообщение
У меня такое ощущение, что мне для моих задач тоже не нужно наследование. К тому же, 4 бандита тоже рекомендуют его не использовать. А инкапсуляция с полиморфизмом в каждой аптеке уже есть (в том же haskell). Так получается, что по теме - ООП дает только наследование, которое по возможности нужно избегать, и которое требуется в 1% задач? (trollface)
Функциональный язык не может быть объектно ориентированным тоже?
0
 Аватар для avgoor
1550 / 877 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
19.08.2016, 15:05
Цитата Сообщение от _stanislav Посмотреть сообщение
А если бы понадобилось наследование то без ООП не обойтись? Если Степанов справлялся без ООП при нужде инкапсуляции и полиморфизма, неужели он бы и наследование не синтезировал?
...
Миниатюры
Что даёт использование классов (и шире - ООП) в языке программирования С++?  
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
19.08.2016, 15:06
Цитата Сообщение от _stanislav Посмотреть сообщение
А если бы понадобилось наследование то без ООП не обойтись?
Ну, можешь посмотреть как на сишечке ООП эмулируют. Получается что-то близкое по духу к Франкенштейну
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
19.08.2016, 15:06
И это еще если не вспоминать про основной вопрос философии - "что такое ООП" А то почитав Алана Кея, можно прийти к выводу, что тот же Лисп или Эрланг на порядок оопее того же С++, а ООП - это не 3 известных кита слова, а совсем другое.
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
19.08.2016, 15:11
Цитата Сообщение от _Ivana Посмотреть сообщение
А то почитав Алана Кея, можно прийти к выводу, что тот же Лисп или Эрланг на порядок оопее того же С++
Ну и в чем принципиальные отличия? Ну, кроме того, что everything is an object
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
19.08.2016, 15:12
У меня все же мнение, что первопричина ООП парадигмы это структурировать код более высоким уровнем нежели функции. Упаковать данные и функции в объект. Наследование полиморфизм инкапсуляция это уже все потом.
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
19.08.2016, 15:18
Цитата Сообщение от _stanislav Посмотреть сообщение
Функциональный язык не может быть объектно ориентированным тоже?
Может, даже есть такой и не один. Но я привел пример функционального языка, в котором нет ООП (в понимании адептов С++), а инкапсуляция есть, полиморфизм - даже более полиморфный, чем в плюсах (насколько я могу судить), наследования нет.

Добавлено через 2 минуты
Цитата Сообщение от Voivoid Посмотреть сообщение
Ну и в чем принципиальные отличия?
Нет наследования, общение между "объектами" только через мессадж-пассинг, позднее связывание (привет динамической типизации) и еще сто всего.

Добавлено через 1 минуту
Цитата Сообщение от _stanislav Посмотреть сообщение
У меня все же мнение, что первопричина ООП парадигмы это структурировать код более высоким уровнем нежели функции.
Добро пожаловать в модули, акторы, замыкания и также сто всего, что может выполнять эту задачу.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
19.08.2016, 15:26
Цитата Сообщение от _Ivana Посмотреть сообщение
Добро пожаловать в модули
Модули это высокоуровневое средство?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.08.2016, 15:26

Посоветуйте книгу по C# в которой как можно шире раскрыты прелести ООП
посоветуйте, пожалуйста, книгу по C#, в которой как можно шире раскрыты прелести объектно-ориентированного программирования (области...

Что значат эти скобки >>> в языке программирования
зарание извиняюсь если вопросы глупые , я начал только сегодня изучать программирование на языке питон , сразу хочу сказать что мой уровень...

Использование функции DCount в элементе управления отчета Access2003 не дает желаемого результата. Что делать?
Здравствуйте. Имеем отчет Access2003, основанный на запросе "запСота". В отчете в разделе Заголовок имеем вычисляемое поле со следующей...

На русском языке или языке программирования
Опишите на русском языке или на одном из языков программирования алгоритм получения из целочисленного массива А состоящего из 30 элементов...

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг у вас они завалялись на компе или...


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

Или воспользуйтесь поиском по форуму:
140
Закрытая тема Создать тему
Новые блоги и статьи
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru