AndrewJD wrote:
> Здравствуйте, MaximE, Вы писали:
>
> ME>Вот это как раз не прелесть, а ужас.
>
> ME>Концептуально, у объекта есть состояние и поведение (еще identity, но здесь это нас не интересует). Состоянием рекоммендуется манипулировать только через методы объекта (инкапсуляция). Когда мы начинаем манипулировать состоянием объекта напрямую (нарушение инкапсуляции) — это уже создает бардак в коде, так как нет гарантий, что инвариант класса не нарушен.
>
> Свойства нарушают инкапсуляцию? Каким образом
Why getter and setter methods are evil
(хотя статья про Java, все верно)
> ME>Но когда изменение состояния вызывает еще какое-то поведение — это полный кошмар, т.к. из такого кода неясно, где просто изменяется переменная объекта, а где изменение состояния влечет за собой цепочку вызовов — поведение.
>
> Перегруженные операторы присваивания в C++ делают тоже самое и никого это не пугает
Не понял, что "то же самое" делают операторы присваивания?
--
Maxim YegorushkinPosted via RSDN NNTP Server 1.9 beta