Компонентно-ориентированное программирование: различия между версиями
Содержимое удалено Содержимое добавлено
м Откат правок 31.134.191.88 (обс.) к версии Kalendar Метка: откат |
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
||
Строка 25:
Полиморфизм в ООП (с точки зрения приверженцев ООП) является важной составляющей частью. Возможно, кому-то из программистов действительно удобно писать подобный код:
<
сахар = вода + углекислый_газ + ультрафиолет
</syntaxhighlight>
Но стало ли понятней, что происходит в таком коде? Давайте взглянем на код написанный в функциональном стиле
<
сахар = СинтезироватьСахар(вода, углекислый_газ, ультрафиолет)
</syntaxhighlight>
Здесь совершенно очевидно, что суть сахара не равна сути воды, углекислого газа или ультрафиолета. Между этими понятиями знак равенства слегка неадекватен. В указанном примере идёт явное превращение нескольких свойств в новое свойство, более неприводимое ни к одному из предыдущих. В самом деле, запись
<
вода = сахар - (углекислый_газ + ультрафиолет)
</syntaxhighlight>
в корне не верна и даже эмоционально вызывает чувство протеста.
|