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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 08.08.2015, 07:12   #21
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Цитата:
Сообщение от Buron Hoise Посмотреть сообщение
Возможно ли сделать перезагрузку методов риалтайм операцией?
Перегрузка методов пришла из функционального программирования -- ФП, поэтому особенности реализации полностью определяются реализацией подмножества ФП в языке. Поскольку выбор нужной функции делает транслятор на этапе анализа программы, в компилируемых и псевдокомпилируемых языках это происходит во время компиляции.
Vapaamies вне форума
Старый 09.08.2015, 17:37   #22
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Эмм, полиморфизм есть и в языках, в которых отсутствует interface_(языковая конструкция). Там это делается через классы, часто с одним абстрактным методом.
и он работает через интерфейс дочернего класса.
дело не в ключевом слове.
Цитата:
Я может быть даже согласен, что рантайм перегрузка не нужна, но я могу сказать то же самое о полиморфизме. Ну не нужен он мне, и без него прожить можно. Всё таки тьюринг-полный язык в руках держу.
костылями, и реализуя тоже самое самостоятельно.
Цитата:
Короче, я думаю о конструкциях на подобии Dog.Cat.Breed(), Dog.Breed(Cat), или Breed(Dog, Cat). И думаю, что произойдёт, если я полностью перейду на крайний правый. Скорей всего я лишусь полиморфизма. Ну и плевать.
без полиморфизма вы вынуждены реализовывать вариант Breed для каждого класса, и так же можно забыть о плагинах и расширениях.
Цитата:
Если мне понадобится создать что-то вроде Dog.Cat.Breed(), мне нужны переменные типа var{Dog, Cat}. Или var{Animal, Animal}.

И сам метод Animal.Animal.Breed() должен либо определяться как двухмерная таблица (видели когда-нибудь одномерную, трёхмерную или четырёхмерную таблицу?) для всех возможных комбинаций типов. Либо один метод для всех типов, который просто напросто проверяет типы на равенство, и throw new Exception("Wtf are you trying to do???") при несоответствии. Кстати, в первом случае это будет компилтайм ошибка, во втором рантайм. Хотя если использовать правильные утилиты, второе также будет компилтайм ошибкой.

Не о чем говорить - говори об ООП.
как иметь ООП отказавшись от ООП?
зачем себе палки в колеса совать?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 10.08.2015, 13:42   #23
Buron Hoise
Заблокирован
 
Регистрация: 03.08.2015
Сообщений: 28
По умолчанию

Без полиморфизма нельзя делать плагины?

Спасибо что нашёл время отмахнуться парой предложений по каждому пункту, хотя я не лучше.
Buron Hoise вне форума
Старый 10.08.2015, 15:59   #24
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Без полиморфизма нельзя делать плагины?
Почему нельзя? Можно.
Только причем тут плагины?
I'm learning to live...
Stilet вне форума
Старый 10.08.2015, 16:12   #25
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Без полиморфизма нельзя делать плагины?
в некоторых архитектурах можно его свести на минимум. но он есть, явно или не явно.
Цитата:
Почему нельзя? Можно.
можно пример?
Цитата:
Только причем тут плагины?
я упоминал.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 10.08.2015, 17:11   #26
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
можно пример?
Пример плагина, который не построен по принципам ООП?
Дык... Сделай ДЛЛ, у которых будут одинаковые имена экспортируемого - вот тебе и пример.
Цитата:
я упоминал.
Я наверное упустил это упоминание из виду...
I'm learning to live...
Stilet вне форума
Старый 10.08.2015, 17:25   #27
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Когда я был молодой и умный, но чего-то не понимал, то создавал тестовые банальнейшие приложения. Давно бы уже запилили консольку с тремя-четырьмя классами и методом научного тыка определили разницу в поведении при "полиморфизме" и перегрузке методов.
pu4koff вне форума
Старый 10.08.2015, 18:01   #28
Buron Hoise
Заблокирован
 
Регистрация: 03.08.2015
Сообщений: 28
По умолчанию

Это чисто теоретический вопрос, что значит проверить в консольке?

Последний раз редактировалось Stilet; 10.08.2015 в 18:09.
Buron Hoise вне форума
Старый 10.08.2015, 18:12   #29
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Дык... Сделай ДЛЛ, у которых будут одинаковые имена экспортируемого - вот тебе и пример.
полиморфизм не на уровне классов, а на уровне длл.

именно это и есть полифорфизм, у нас есть интерфейс/контракт, и именно по нему мы применяем класс/код.

не столь важно класс это или длл или структура с делегатами/указателями на функции.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 10.08.2015, 18:42   #30
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
полиморфизм не на уровне классов, а на уровне длл.
А-а-а, ну ты так рассматриваешь... Тогда согласен.
I'm learning to live...
Stilet вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильная перегрузка методов класса. Человек_Борща Общие вопросы Delphi 9 10.11.2012 23:38
перегрузка методов класса (с++) Antej Общие вопросы C/C++ 2 24.07.2012 17:58
Перегрузка виртуальных методов mongolores Общие вопросы Delphi 27 14.05.2012 19:12
Чем отличается IA-64 от IA-32 Ivan_32 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 09.06.2009 16:13
Чем отличается AX от BX? veter_s_morya Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 05.05.2008 16:50