Здравствуйте, samius, Вы писали:
S>Как так? Отличия лишь в синтаксисе и такой глубокий вывод о стиле... Метод ChangeSkin заменен методом set_skinColor. Больше ничего не изменилось...
S>А если так?
S>S>class Chameleon
S>{
S> public Color skinColor { get; }
S>}
S>
Тоже самое. Стиль программирования `procedural vs oo` зависит от того как используется класс: как структура данных или как объект у которого все данные и логика прописаны в одном месте.
S>Кстати, не считаю, что процедурный стиль плох.
У оо больше возможностей по написанию более независимого, модульного кода.
В процедурном стиле: не используется сокрытие информации(модификаторы доступа), (т.к. поля/свойства всегда public).
потому может произойти такая ситуация, что код по изменению поля структуры будет раскидан в разных местах проекта/класса,
а изменение этого поля будет зависеть от разных условий. А код который меняет это поле будет зависеть еще от другого код,
а тот еще и еще. И когда понадобится добавить новую логику которая будет дополнительно как-то менять поле,
нам придется вместо того что бы подправить код в одном классе/объекте продебажить пол проекта и найти место куда воткнуть наш код.