Методы Accessor и Mutator в Python

Поскольку рекомендуется хранить внутренние данные объекта private, нам часто требуются методы в интерфейсе класса, чтобы позволить пользователю объектов изменять или получать доступ к внутренне сохраненным данным контролируемым образом.

Метод, определенный внутри класса, может быть либо Accessor, либо методом Mutator. Метод доступа - это функция, которая возвращает копию внутренней переменной или вычисленного значения. Обычная практика - назвать их словом get. Метод мутатора - это функция, которая каким-то образом изменяет значение внутренней переменной данных. Простейшей формой функции мутатора является та, которая устанавливает переменную непосредственно в новое значение. Обычная практика - назвать их словом.

Пример

 
class MyClass():
    def __init__(self):
        self.__my_attr = 3
    def set_my_attr(self,val):
        self.__my_attr = val
    def get_my_attr(self):
        return self.__my_attr
obj1 = MyClass()
print (obj1.get_my_attr())
obj1.set_my_attr(7)
print (obj1.get_my_attr())

В приведенном выше примере,

Методы obj1.get_my_attr() - это методы Accessor, поскольку он не изменяет объект a в каком-либо смысле, а только извлекает соответствующую информацию. Но obj1.set_my_attr (7) является мутаторным методом, поскольку он эффективно изменяет объект на новый.

Источник: http://net-informations.com/python/iq/mutator.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector