En setter ( engelsk setter , også setting method , modifying method , mutator ) er en metode, der bruges i objektorienteret programmering til at tildele en værdi til et indkapslet felt , for eksempel ved at behandle ugyldige tildelinger . Ofte implementeret i tandem med en getter -metode , der giver dig mulighed for at få værdien af et klassefelt.
Java eksempel:
offentlig klasse ScheduleTask { private int timer ; public void setHours ( int hours ) { if (( hours >= 0 ) && ( hours < 24 )) this . timer = timer ; } }Her, for at ændre det skjulte felt hours, skal du bruge en sætter setHours, der sikrer, at den kun tager gyldige værdier.
I C# bruges en anden teknik oftere på grund af syntaktiske funktioner (kontekstnøgleord setog - bruges kun i sætteren):value
public class ScheduleTask { private int hours ; public int Timer { sæt { if ( ( værdi >= 0 ) && ( værdi < 24 ) ) { timer = værdi ; } } } }I dette tilfælde er det også muligt at bruge det gennem en offentlig metode, da set { ... }C#-kompileren faktisk konverterer konstruktionen til en klassemetode.
Sætteren i VB.NET skal have WriteOnly-modifikatoren, hvis getteren ikke er implementeret:
Public Class Foo Private m_Data As Integer 'Privat datafelt Public Property Message As Integer 'Auto-implementeret egenskab siden VB 10.0 Public WriteOnly Property Data As Integer 'Offentlig skrive-kun egenskabssæt ( Value As Integer ) m_Data = Value End Set End Property End Class