ООП головного мозга? Как вы считаете, нормально ли то, когда класс открывает свои поля в публичный доступ? Ведь иногда гетеры и сетеры просто лишние куски кода. Например, вот такой класс (для примера пусть он представляет переменную в коде какого нибудь интерпретатора):class Variable { private: std::string Name; public: std::string Value; std::string GetName() const { return Name; } Variable ( const std::string &name ): Name( name ) { }; } Далее по ходу выполнения кода, мы изменяем поле Value. Разумно ли вместо изменить его вот таким образом ?class Variable { private: std::string Name; std::string Value; public:
std::string GetName() const { return Name; } std::string GetValue() const { return Value; } void SetValue ( const std::string &value ) { Value = value; } Variable ( const std::string &name ): Name( name ) { }; } Так же изменяем поле Value, но теперь через сеттер. Какой вариант лучше? Если что, я использую и использовал всегда первый, но вот пару раз встречал на хабре мнение, что класс вообще не должен давать публичный доступ к полям.