Re[3]: Свойства в С++
От: AndrewJD США  
Дата: 13.07.04 08:55
Оценка:
Здравствуйте, MaximE, Вы писали:

ME>Вот это как раз не прелесть, а ужас.


ME>Концептуально, у объекта есть состояние и поведение (еще identity, но здесь это нас не интересует). Состоянием рекоммендуется манипулировать только через методы объекта (инкапсуляция). Когда мы начинаем манипулировать состоянием объекта напрямую (нарушение инкапсуляции) — это уже создает бардак в коде, так как нет гарантий, что инвариант класса не нарушен.


Свойства нарушают инкапсуляцию? Каким образом


ME>Но когда изменение состояния вызывает еще какое-то поведение — это полный кошмар, т.к. из такого кода неясно, где просто изменяется переменная объекта, а где изменение состояния влечет за собой цепочку вызовов — поведение.


Перегруженные операторы присваивания в C++ делают тоже самое и никого это не пугает
"For every complex problem, there is a solution that is simple, neat,
and wrong."
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.