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

Примеры Пример на Java: public class ScheduleTask {

private int hours;

public void setHours(int hours) { if ((hours >= 0) && (hours < 24)) this.hours = hours;

Здесь для изменения скрытого поля hours нужно использовать сеттер setHours, который будет следить за тем, чтобы оно принимало только допустимые значения.

В C# благодаря синтаксическим возможностям (контекстные ключевые слова set и value — использующееся только в сеттере) чаще применяется другая методика: public class ScheduleTask

private int hours; public int Hours

set

if ( (value >= 0) && (value < 24) )

hours = value;

При этом возможно использование и через публичный метод, так как фактически конструкцию set { ... } компилятор C# преобразует в метод класса.

Сеттер в VB.NET обязан иметь модификатор WriteOnly, если не будет реализован геттер: Public Class Foo Private m_Data As Integer 'Закрытое поле с данными Public Property Message As Integer 'Автореализуемое свойство, начиная с VB 10.0

Public WriteOnly Property Data As Integer 'Открытое свойство только для записи Set(Value As Integer) m_Data = Value End Set End Property End Class

Категория:Метод (информатика)