Здравствуйте, fin_81, Вы писали:
_>Здравствуйте, samius, Вы писали:
S>>"Похоже" — это как-то не аргумент против определения в википедии. _>Равнозначный аргумент.
Т.е. вы против статьи в википедии ставите свое "похоже" и считаете это равнозначным? Не, пусть будет так, но я против вашего "похоже" заряжу свое "не похоже". Далее обсуждение можно заканчивать.
S>>Может и не было определения, мне сложно об этом судить, но явления, описываемые в определении, явно имели место. А причем тут ООП? Инкапсуляция тоже не в ООП была рождена. Да и наследование (subtyping) тоже.
_>Явления можно объяснить несколькими моделями: полиморфизмом, обработкой сообщений, типизацией, теорией категорий (я его не знаю) и тп. Но вопрос "А причем тут ООП?" остается.
А кто первый вспомнил про ООП в данной теме? Вот к нему и вопрос.
Здравствуйте, fin_81, Вы писали:
_>Возьмем определение: полиморфизм — это обработка данных в зависимости от типа.
И чем это определение лучше википедийного?
Те же неопределенные термины "данные", "операции", "значения", "типы" и "обработка". Что за звери, и чем они отличаются друг от друга? (с)
Здравствуйте, fin_81, Вы писали:
_>Здравствуйте, samius, Вы писали:
S>>Здравствуйте, fin_81, Вы писали:
_>>>Возьмем определение: полиморфизм — это обработка данных в зависимости от типа. S>>Негодное определение, т.к. допускает ложные срабатывания. S>>По нему int AddInt(int, int) и float AddFloat(float, float) полиморфны.
_>Обработка разная, операции разные.
Из вашего определения не следует, что AddInt(int, int) и float AddFloat(float, float) не полиморфны.
Приведите полное определение.
Здравствуйте, samius, Вы писали:
S>Здравствуйте, fin_81, Вы писали:
_>>Здравствуйте, samius, Вы писали:
S>>>Здравствуйте, fin_81, Вы писали:
_>>>>Возьмем определение: полиморфизм — это обработка данных в зависимости от типа. S>>>Негодное определение, т.к. допускает ложные срабатывания. S>>>По нему int AddInt(int, int) и float AddFloat(float, float) полиморфны.
_>>Обработка разная, операции разные. S>Ваше определение допускает.
Тогда определение должно выглядеть так
полиморфизм — это все возможные обработки данных в зависимости от типа
_>>>>Тип _>>>>Данные _>>>>Операция _>>>>Отношение Тип-Данные _>>>>Отношение Тип-Операция
S>>>Что за звери "операция", "отношение"?
_>>Значения, между которыми есть отношения. S>Но термин "значение" вам был не угоден, а теперь вы на него ссылаетесь при определении операции и отношения. S>Ну и что что есть отношения. У ежиков тоже отношения могут быть.
"Значение" — это определение из реляционной модели. "Отношение" — это тоже определение из реляционной модели. Реляционная модель — строгая математическая модель с алгеброй. Возможно эти определения по другому называются.
Здравствуйте, fin_81, Вы писали:
_>Здравствуйте, Abyx, Вы писали:
_>>>А другие способы реализации полиморфизма являются частью языков программирования?
A>>да, являются.
_>Утиная типизация — полиморфизм? В каком языке он есть?
Здравствуйте, fin_81, Вы писали:
_>>>А другие способы реализации полиморфизма являются частью языков программирования?
A>>да, являются.
_>Утиная типизация — полиморфизм? В каком языке он есть?
типизация это типизация, полиморфизм это полиморфизм.
Здравствуйте, AlexRK, Вы писали:
ARK>И что за зверь "обработки"? ARK>Вот тут есть обработки? ARK>
ARK> interface IBase { }
ARK> class A : IBase { }
ARK> class B : IBase { }
ARK>
Этот код ничего не делает, и не есть иллюстрация полиморфизма. Минимум надо создать объект, и присвоить переменной. "Создать" и "присвоить" — операции, которые зависят от типа.
Здравствуйте, fin_81, Вы писали:
_>Утиная типизация — полиморфизм? В каком языке он есть?
C++ подойдёт?..
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Mystic, Вы писали:
M>Имхо, тут более полезно умение разделить систему на отдельные подсистемы, влияние которых друг на друга сведено к минимуму. На классах это сделать можно, но обычно класс слишком уж мелкая единица для такого разбиения.
Чё-то как-то совсем плохо себе представляю, чтобы система с одной стороны была единым целым, а с другой стороны — минимум взаимовлияния подсистем.
Тут уж либо первое, либо второе...
Здравствуйте, samius, Вы писали:
S>>>Может и не было определения, мне сложно об этом судить, но явления, описываемые в определении, явно имели место. А причем тут ООП? Инкапсуляция тоже не в ООП была рождена. Да и наследование (subtyping) тоже.
_>>Явления можно объяснить несколькими моделями: полиморфизмом, обработкой сообщений, типизацией, теорией категорий (я его не знаю) и тп. Но вопрос "А причем тут ООП?" остается. S>А кто первый вспомнил про ООП в данной теме? Вот к нему и вопрос.
Здравствуйте, fin_81, Вы писали:
_>Здравствуйте, samius, Вы писали:
S>>А кто первый вспомнил про ООП в данной теме? Вот к нему и вопрос.
_>В данной ветке — ты, отвечай.
Ответ неверный http://www.rsdn.ru/forum/philosophy/5133134.1
Здравствуйте, fin_81, Вы писали:
_>Здравствуйте, samius, Вы писали:
S>>>>По нему int AddInt(int, int) и float AddFloat(float, float) полиморфны.
_>>>Обработка разная, операции разные. S>>Ваше определение допускает.
_>Тогда определение должно выглядеть так _>полиморфизм — это все возможные обработки данных в зависимости от типа
Я не разделяю вашу тягу к выдумыванию определений. Термины зверинные вы точно так же используете, а суть явления по вашим определениям не ясна.
_>>>Значения, между которыми есть отношения. S>>Но термин "значение" вам был не угоден, а теперь вы на него ссылаетесь при определении операции и отношения. S>>Ну и что что есть отношения. У ежиков тоже отношения могут быть. _>"Значение" — это определение из реляционной модели. "Отношение" — это тоже определение из реляционной модели. Реляционная модель — строгая математическая модель с алгеброй. Возможно эти определения по другому называются.
Я пока не улавливаю связь полиморфизма с реляционной моделью.
И не вижу причин давать определение полиморфизму в рамках реляционной модели, в то время как типы определены в теории типов.
Здравствуйте, samius, Вы писали:
S>Здравствуйте, fin_81, Вы писали:
_>>Здравствуйте, samius, Вы писали:
S>>>А кто первый вспомнил про ООП в данной теме? Вот к нему и вопрос.
_>>В данной ветке — ты, отвечай. S>Ответ неверный S>http://www.rsdn.ru/forum/philosophy/5133134.1
Здравствуйте, fin_81, Вы писали:
_>Здравствуйте, samius, Вы писали:
S>>>>А кто первый вспомнил про ООП в данной теме? Вот к нему и вопрос.
_>>>В данной ветке — ты, отвечай. S>>Ответ неверный S>>http://www.rsdn.ru/forum/philosophy/5133134.1
Здравствуйте, Voblin, Вы писали:
V>Здравствуйте, Mystic, Вы писали:
M>>Имхо, тут более полезно умение разделить систему на отдельные подсистемы, влияние которых друг на друга сведено к минимуму. На классах это сделать можно, но обычно класс слишком уж мелкая единица для такого разбиения.
V>Чё-то как-то совсем плохо себе представляю, чтобы система с одной стороны была единым целым, а с другой стороны — минимум взаимовлияния подсистем. V>Тут уж либо первое, либо второе...
Ну... например Unix-way --- много программ, каждая из которых умеет делать что-то одно (но хорошо). Изменения в исходниках grep не затрагивают какой-нить ls.
Здравствуйте, samius, Вы писали:
_>>Тогда определение должно выглядеть так _>>полиморфизм — это все возможные обработки данных в зависимости от типа
S>Я не разделяю вашу тягу к выдумыванию определений.
Это измененное определение, неправильное, чтобы соответствовало твоим функциям.
S>Я пока не улавливаю связь полиморфизма с реляционной моделью. S>И не вижу причин давать определение полиморфизму в рамках реляционной модели, в то время как типы определены в теории типов.
Здравствуйте, fin_81, Вы писали:
_>Здравствуйте, samius, Вы писали:
_>>>полиморфизм — это все возможные обработки данных в зависимости от типа
S>>Я не разделяю вашу тягу к выдумыванию определений. _>Это измененное определение, неправильное, чтобы соответствовало твоим функциям.
А какое тогда правильное? То, которое делает AddInt и AddFloat полиморфными друг другу?
S>>И не вижу причин давать определение полиморфизму в рамках реляционной модели, в то время как типы определены в теории типов.
_>А что такое интерфейс? http://en.wikipedia.org/wiki/Interface_%28computing%29
Здравствуйте, samius, Вы писали:
S>Здравствуйте, fin_81, Вы писали:
_>>Здравствуйте, samius, Вы писали:
S>>>>>А кто первый вспомнил про ООП в данной теме? Вот к нему и вопрос.
_>>>>В данной ветке — ты, отвечай. S>>>Ответ неверный S>>>http://www.rsdn.ru/forum/philosophy/5133134.1