Programowanie w języku C#

Właściwość

  • 0 komentarzy
  • 2186 odsłon
  • Oceń ten tekst jako pierwszy
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; }
    }
}