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; }
	}
}

0 komentarzy