Re[4]: Свойства в С++
От: MaximE Великобритания  
Дата: 13.07.04 09:05
Оценка:
AndrewJD wrote:

> Здравствуйте, MaximE, Вы писали:

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

Why getter and setter methods are evil

(хотя статья про Java, все верно)

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

>
> Перегруженные операторы присваивания в C++ делают тоже самое и никого это не пугает

Не понял, что "то же самое" делают операторы присваивания?

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.