Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.02.2010, 12:46   #51
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вот оно: Я впервые слышу чтоб модуль классом обозвали. Как по мне модуль есть модуль, а класс - есть класс. И это должно различаться.
Модульное программирование - мать объектного. Оно в отличии от линейного не потеряло своей актуальности так сильно. (опять таки я говорю про ЯВУ, а не скажем про ассемблер и иже с ним)
Тем паче что с компилятором не поспоришь, он четко различает где обьявление класса а где модуля.
Да нет же различия проводит человек - разница исключительно в точки зрения. Ведь все эти классы и объекты все это реализовано структурами и по сути структурами и являются.
Более того, с помощью структурного программирования можно писать в стиле ООП (ну если я создам свою поддержку классов), просто это будет через заднее отверстие - но ведь это возможно . Так что нового принесло ООП - просто новый взгляд на вещь, но методы работы остались прежними.

Цитата:
Вообще-то не все. С точки зрения ООП, объект - это некая сущность, имеющая внутреннее состояние и набор методов для управления этим состоянием.
Фактически юнит Делфи. Он может содержать в себе структуры и способы манипуляции с ними . В конце концов юнит может содержать в себе классы .

Цитата:
Экземпляры кастрированных классов, которые не имеют полей или методов нельзя в полной мере называть объектами: класс без методов это всего-навсего структура, а класс без полей сравним с модулем.
Небольшое уточнение класс - это описание объекта, если хотите его тип. И экземпляры кастрированных классов вполне можно считать самостоятельными объектами, здесь я с Вами не согласен.

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

Цитата:
Теперь по поводу вопроса ТС: если рассматривать указанный код с точки зрения чистой теории, то там действительно присутствует ООП, т.к. мы изменяем внутренние состояния объектов Application и tf используя их методы. Но с точки зрения практики создания приложений с использованием принципов ООП, то этим самым ООП там даже и не пахнет. Именно поэтому данная тема вызвала столь бурный конфликт мировоззрений.
Разве вызов метода класса не является признаком ООП? Теоретически ТС может найти адрес процедуры в памяти и вызвать ее через ассемблер, разве нет?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 03.02.2010, 13:23   #52
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

offtop:
Если со стороны посмотреть на тему - она выглядит очень смешно

Как ученые, обнаружившие животное, похожее на зайца(но не факт что заяц), спорят "относится ли он к зайцам или нет?"... и начинают детальный осмотр его, вплоть до ... в общем детально

тема just for fun
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума
Старый 03.02.2010, 13:28   #53
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
спорят "относится ли он к зайцам или нет?"
А что... В спорах рождается истина. Мы ща тут таких принципов понаизобретаем - будет самый лучший в мире язык. А потом дядя Уткин напишет к нему компилятор.
И будет открыт не просто заяц а кроликоподобный зайцепотам
I'm learning to live...
Stilet вне форума
Старый 03.02.2010, 13:32   #54
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А что... В спорах рождается истина. Мы ща тут таких принципов понаизобретаем - будет самый лучший в мире язык. А потом дядя Уткин напишет к нему компилятор.
И будет открыт не просто заяц а кроликоподобный зайцепотам
Такова жизнь, например свиньи очень близки по строению к человеку (а так сразу и не скажешь ).
Я больше к интерпретаторам - там возможности шире.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 03.02.2010, 13:51   #55
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Структуры, модули... А инкапсуляцию и наследование вы как делать планируете без классов? Ну инкапсуляцию еще ладно... поместили переменные/функции в разделе implementation (если делфи брать за основу) и нет проблем, но унаследовать их в другом модуле не получится
pu4koff вне форума
Старый 03.02.2010, 14:11   #56
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

Цитата:
Фактически юнит Делфи. Он может содержать в себе структуры и способы манипуляции с ними . В конце концов юнит может содержать в себе классы .
Да, согласно теории модуль тоже является объектом. Но на практике, чтобы не создавать двусмысленности терминов, мух отделяют от котлет - модули это модули, а объекты(экземпляры классов) это объекты.

Цитата:
Небольшое уточнение класс - это описание объекта, если хотите его тип. И экземпляры кастрированных классов вполне можно считать самостоятельными объектами, здесь я с Вами не согласен.
Всё зависит от контекста использования такого объекта. Уверен, в большинстве случаев существование подобного класса указывает на недостатки дизайна создаваемой системы.

Цитата:
Да это тонкий момент на который я хочу тоже обратить внимание. Потому что справедливо обратное утверждение.
Если вы говорите о возможности использовании парадигмы ООП без специально созданного для неё инструментария (в частности - без использования классов Delphi), то я с вами согласен.

Цитата:
Разве вызов метода класса не является признаком ООП? Теоретически ТС может найти адрес процедуры в памяти и вызвать ее через ассемблер, разве нет?
В повседневности не считаю вызов метода объекта признаком программирования в парадигме ООП. Для меня программирование по принципам ООП это, прежде всего, создание иерархии классов с использованием полиморфизма и наследования - ООП без применения этих методов теряет свой смысл.
maxionans вне форума
Старый 03.02.2010, 14:38   #57
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Структуры, модули... А инкапсуляцию и наследование вы как делать планируете без классов? Ну инкапсуляцию еще ладно... поместили переменные/функции в разделе implementation (если делфи брать за основу) и нет проблем, но унаследовать их в другом модуле не получится
Разве? А если я подключу модуль в разделе Uses разве я не получу доступ к функциям? И предок общий у всех - System'ом зовут .

Цитата:
Да, согласно теории модуль тоже является объектом. Но на практике, чтобы не создавать двусмысленности терминов, мух отделяют от котлет - модули это модули, а объекты(экземпляры классов) это объекты.
ДА с большой буквы, но в задании ТС нужно просто было грамотно обосновать свое утверждение. Вот это и есть тот фундамент .

Цитата:
Всё зависит от контекста использования такого объекта. Уверен, в большинстве случаев существование подобного класса указывает на недостатки дизайна создаваемой системы.
Это не суть важно, возможно - да. Мы же не говорим о том, что давайте все делать через сами знаете что, это не целесообразно. Но вопрос так и не стоит.

Цитата:
В повседневности не считаю вызов метода объекта признаком программирования в парадигме ООП. Для меня программирование по принципам ООП это, прежде всего, создание иерархии классов с использованием полиморфизма и наследования - ООП без применения этих методов теряет свой смысл.
Конечно, но сколько раз говорить - что полиморфизм вещь скользкая. Ну уже не знаю как понятно изложить, хорошо вот ответьте мне - я написал класс, в котором нет полиморфизма (а мне не требуется) - это ООП или нет? Да полиморфизм характерная черта ООП, но это не главный фактор. Скажем так, этого признака достаточно, чтобы утверждать, что такой-то код относится к ООП, но он не обязателен, что бы утверждать это.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 03.02.2010, 15:24   #58
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

Цитата:
ДА с большой буквы, но в задании ТС нужно просто было грамотно обосновать свое утверждение. Вот это и есть тот фундамент .
Разве я не грамотно обосновал своё утверждение? Если вы считаете, что мое мнение ошибочно, укажите, пожалуйста, в чем я не прав (я серьёзно, без издёвок )

Цитата:
Ну уже не знаю как понятно изложить, хорошо вот ответьте мне - я написал класс, в котором нет полиморфизма (а мне не требуется) - это ООП или нет?
Опять же, если такой класс полноценен, т.е. имеет своё внутреннее состояние и набор методов, для управления им, то это ОПП. Иначе - создание класса было неоправданным и я никогда не назову такое программирование ООП-ом.

Цитата:
Да полиморфизм характерная черта ООП, но это не главный фактор. Скажем так, этого признака достаточно, чтобы утверждать, что такой-то код относится к ООП, но он не обязателен, что бы утверждать это.
Согласен.
maxionans вне форума
Старый 03.02.2010, 15:36   #59
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от maxionans Посмотреть сообщение
Разве я не грамотно обосновал своё утверждение? Если вы считаете, что мое мнение ошибочно, укажите, пожалуйста, в чем я не прав (я серьёзно, без издёвок )
Я не издевался (сорри, если так выглядит), я имел ввиду Ваше высказывание
Цитата:
Да, согласно теории модуль тоже является объектом.
ТС нужно было ссылаться на это, ну и пару разъяснений. Написание любого модуля можно отнести к ООП (если правильно все рассказать ).

Цитата:
Опять же, если такой класс полноценен, т.е. имеет своё внутреннее состояние и набор методов, для управления им, то это ОПП. Иначе - создание класса было неоправданным и я никогда не назову такое программирование ООП-ом.
Считайте модули объектами без полиморфизма (разрешено? разрешно ).

ЗЫ. ТСу можно попытаться реабилитироваться - если дать почитать преподу этот топик .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 03.02.2010 в 15:38.
Utkin вне форума
Старый 03.02.2010, 15:40   #60
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так, господа, я вижу что мнения в любом случае не сойдутся, посему закрываю тему.
Цитата:
Utkin
Дружище, с модулями ты всетки палку перегибаешь.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ООП RABERT Общие вопросы C/C++ 3 18.12.2009 20:32
ООП VladimirVB Общие вопросы Delphi 4 18.11.2009 22:51
Паскаль ООП. Примеры программ с использованием ООП SeЯgey Помощь студентам 5 13.05.2009 21:55
ООП Римма Общие вопросы Delphi 16 15.04.2008 11:32