Эксперт С++
 Аватар для 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
Закрытая тема Создать тему
Опции темы

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru