|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.05.2012, 22:37 | #11 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Честно говоря, вообще не понимаю смысла вопроса.
Тогда - когда это удобнее. С моей точки зрения к показаниям относится: 1. Можно инкапсулировать данные. Когда данные нельзя инкапсулирова, ООП мне представляется не очень логичным. Кстати, в одной из соседних тем обсуждает перемножение матриц на ООП. Честно говоря, не совсем понимаю, ка это грамотно сделать. 2. Код планируется повторно использовать. 3. Есть нечто сложное, описываемое разнородными переменными и требуюшее для обработки несколько функций. Притом, это нечто может потребоваться в нескольких самостоятельных экземплярах. Кстати, мне кажется, действительно интересный вопрос - с задачей о перемножении матриц. Как ее организовать с учетом инкапсуляции? |
28.05.2012, 22:42 | #12 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Ну нафлудили, так нафлудили
s-andriano, тот человек любит кросспостить - http://programmersforum.ru/showthread.php?t=202837, может быть вам решение приглянется.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
28.05.2012, 23:14 | #13 | ||||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 28.05.2012 в 23:20. |
||||
28.05.2012, 23:42 | #14 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
Увы, не приглянулось, т.к. напрочь отсутствует инкапсуляция. Может, есть какие мысли, как ее достичь? Или, может, этой задаче ООП принципиально противопоказан? Инкапсуляция: Как Вы предложите поступить в такой ситуации: некоторая сущность описывается несколькими массивами (для которых нужно выделять память), причем массивы - структур, а также некоторым набором простых переменных. Для доступа и обработки данных нужно несколько процедур. Данные должны быть инкапсулированы. Последний раз редактировалось Stilet; 28.05.2012 в 23:45. |
|
29.05.2012, 00:04 | #15 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
и данным такого же класса как она? инкапсулировать нужно грамотно. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
29.05.2012, 08:00 | #16 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 29.05.2012 в 08:16. |
|
29.05.2012, 10:07 | #17 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
На мой взгляд, использование ООП оправдано, когда критичность выполнения кода и размер программы не имеют решающего значения. По своей сути, все тормоза новых ОС из него и произрастают) И всё более и более жёсткие требования к железу... это примерно как при стрельбе из пушки - ядро не круглое, а овальное и, чтобы им выстрелить, берут пушку большего калибра, а не приводят ядро к нужному виду... (сравнение утрированное, если что...)
Но опять же, не все объекты одинаково бесполезны и неэффективны. В этом и состоит мастерство программиста - правильно разложить задачу, чтобы точно знать, где лучше использовать объекты, а где от них воздержаться...
Правильно поставленная задача - три четверти решения.
|
29.05.2012, 10:37 | #18 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
а реальность в кривом проектировании. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
29.05.2012, 11:36 | #19 | ||
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Цитата:
Правильно поставленная задача - три четверти решения.
|
||
29.05.2012, 11:38 | #20 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Интересный вопрос, философский даже Зачем ООП? Чтобы абстрагировать разнородные логики в свои самодостаточные мини-системы. Когда есть сложные проект, в котором выполняется много чего и это все должно взаимодействовать, как-то трудно представляется решать такие проблемы с помощью процедурного программирования и глобальных переменных. Например, нужно написать многопоточный логгер событий, по сути метод с параметром строки. Как вы поступите? будете в приложение или юнит пихать переменную критической секции и инициализировать/финализировать ее в модуле? Еще несколько глобальных переменных имени файла, директории, чего-то еще... придумайте сами Да можно в общем-то... но зачем так некрасиво? Ведь класс-то сделать изящней и гибче.
Ладно, многие скажут, что здесь можно и без ООП. Согласен. А как вы будете организовывать взаимодействие того же логгера, несколько сотен потоков разного назначения, GUI и т.п.? Код будет похож на сишный
"ковыряю изнутри" (с)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не будет ли ошибкой использовать инвок для случаев, когда он не требуется? | gramp | C# (си шарп) | 4 | 18.04.2012 20:41 |
Когда нужно присваивать.. Writeln(Sum:8:4) ? | Erlotaza | Общие вопросы Delphi | 1 | 09.03.2012 11:25 |
Try, throw, catch; нужно ли знать ООП PHP для изучения исключений? | alex455 | PHP | 1 | 01.08.2011 13:46 |
masm32 подменяет JZ на JE тогда, когда это совсем не нужно | notHaker | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 12.07.2011 17:57 |
сортировка, когда невозможно использовать свойства таблицы IndexFieldName | Римма | БД в Delphi | 5 | 07.09.2007 10:56 |