Un setter ( inglés setter , también método de configuración, método de modificación , mutador ) es un método utilizado en la programación orientada a objetos para asignar un valor a un campo encapsulado , por ejemplo, mediante el procesamiento de asignaciones no válidas . A menudo se implementa junto con un método getter que le permite obtener el valor de un campo de clase.
Ejemplo Java:
clase pública ScheduleTask { horas internas privadas ; public void setHours ( int hours ) { if (( hours >= 0 ) && ( hours < 24 )) this . horas = horas ; } }Aquí, para cambiar el campo oculto hours, debe usar un setter setHoursque se asegure de que solo tome valores válidos.
En C# , debido a las características sintácticas (palabras clave de contexto sety value - utilizadas solo en el setter), se usa con más frecuencia una técnica diferente:
ScheduleTask de clase pública { horas privadas int ; public int Horas { set { if ( ( valor >= 0 ) && ( valor < 24 ) ) { horas = valor ; } } } }En este caso, también es posible usarlo a través de un método público, ya que el set { ... }compilador de C# en realidad convierte la construcción en un método de clase.
El setter en VB.NET debe tener el modificador WriteOnly si el getter no está implementado:
Public Class Foo Private m_Data As Integer 'Campo de datos privados Public Property Message As Integer 'Propiedad implementada automáticamente desde VB 10.0 Propiedad pública de solo escritura Datos como entero 'Propiedad pública de solo escritura Conjunto ( Valor como entero ) m_Data = Valor Fin Conjunto Fin Propiedad Fin Clase