Setter
Материал из Википедии — свободной энциклопедии
Сеттер — специальный метод, используемый в объектно-ориентированном программировании для того, чтобы присвоить какое-либо значение инкапсулированному полю, например, обработав при этом недопустимые присваивания.
Содержание |
[править] Примеры
[править] Java
public class ScheduleTask{ private int hours; public void setHours(int hours) { if ((hours >= 0) && (hours < 24)) this.hours = hours; } }
В данном примере имеется скрытое поле hours
. Чтобы изменить его значение, нужно использовать сеттер setHours
, который будет следить за тем, чтобы оно принимало только допустимые значения.
[править] C#
public class ScheduleTask { private int hours; public int Hours { set { if ( (value >= 0) && (value < 24) ) { hours = value; } } } }
Нужно обратить внимание на то, что в этом примере на C#, показана другая методика, которая является гораздо ближе к синтаксическим возможностям C#. Кроме того, нужно заметить, что используются контекстные ключевые слова set
и value
(value
используется только в сеттере). Конечно, допускается использование принципа, изложенного в примере на Java -- через публичный метод -- так как фактически конструкцию set { ... }
компилятор C# преобразует в метод класса.