Компонентно-ориентированное программирование: различия между версиями

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