Właściwość
Japer
Właściwość (od ang. property) - konstrukcja programistyczna w języku C#.
Jest zamiennikiem (używanych w językach C++ i Java) metod "getterów" oraz "setterów". Właściwości łączą obydwie cechy gettera oraz settera.
Właściwości zawierają:
- blok
get
, który zwraca wartość, - blok
set
, który ustawia wartość (jest on nieobowiązkowy do zdefiniowania; wtedy właściwość staje się tylko do odczytu)
Właściwość może być:
- tylko do odczytu (zob. powyżej),
- auto-właściwością (ang. auto-property). Właściwość przyjmuje wtedy rolę podobną do publicznego pola klasy. Tworzy się je poprzez podanie jedynie słów kluczowych w bloku właściwości (zob. poniżej)
Bloki set
lub get
mogą mieć zdefiniowany minimalny poziom dostępu. Aby go zdefiniować wystarczy przy słowie kluczowym dopisać modyfikator dostępu.
W ciele bloku set
wartością, która jest przypisana reprezentuje słowo kluczowe value
.
Przykład użycia właściwości:
class Rectangle
{
private int _x;
private int _y;
public int Width { get; set; } // auto-właściwość
public int Height { get; private set; } // auto-właściwość, lecz ustawianie jej jest zarezerwowane tylko dla tej struktury
public int X // zwykła właściwość
{
get
{
return _x;
}
set
{
_x = value;
}
}
public int Y // właściwość tylko do odczytu
{
get { return _y; }
}
}