Почему мне нужно использовать методы получения и установки?

У меня есть сегмент кода:

public class MyClass
{
    private string _myProperty;

    public string MyProperty
    {
        get
        {
            return _myProperty;
        }

        set
        {
            _myProperty = value;
        }
    }
}

Какой здесь смысл? Я мог бы объявить строку _myProperty общедоступной, и любой из моих объектов класса сможет напрямую обращаться к ним и получать или устанавливать значение.

Вместо этого мы делаем _myProperty закрытыми и используем get и set для доступа к ним с помощью объекта класса.

В любом случае объект класса может получить к ним доступ, и результат всегда будет одинаковым.

Так зачем использовать этот подход? Это только потому, что я могу реализовать несколько ограничений в установщике?

Кроме того, какой вред принесет публикация переменных-членов? В этом примере я мог бы сделать _myProperty общедоступным, а не ограничивать его только этим классом, делая его закрытым, как предлагает ООП.

13
задан Kiley Naro 1 November 2011 в 14:39
поделиться