Właściwości w programowaniu obiektowym C#
Właściwości - specjalny rodzaj pól.
Właściwości wspierają
hermetyzacje danych wewnątrz klasy. Są to
pola, które pozwalają określić
rodzaj dostępu jako:
tylko do odczytu, tylko do zapisu, lub do odczytu i zapisu. Właściwości łączą zachowanie pól i metod, wyglądają jak pola a więc możemy wyświetlić ich zawartość, zachowują się jak metody, co daje możliwość zastosowania w interfejsach.
Składnia deklaracji właściwości:
[modyfikator] typ Identyfikator
{
deklaracje_dostępu
}
gdzie:
- modyfikatory - dostępne są modyfikatory: new, static, virtual, abstract, override oraz wszystkie modyfikatory dostępu (opcjonalne),
- typ - typ danych (wymagane),
- identyfikator - nazwa właściwości,
- deklaracje_dostępu - blok get i/lub set, wymagany jest przynajmniej jeden z bloków get lub set.
Przykładowy kod - wersja pełna:
public class Entity
{
public int Id
{
get
{
return Id;
}
set
{
Id = value;
}
}
}
Przykładowy kod - wersja skrócona:
public class Entity
{
public int Id { get; set; }
}
Obie wersje działają tak samo.
Właściwości:
- nie przyjmują argumentów,
- nie mogą być typu void - musza zwracać wartość,
- nazwy właściwości zaczynamy duża literą, natomiast pola prywatne małą literą,
- mogą zostać przekazane do metod tylko poprzez wartość, niedozwolone jest przekazywanie właściwości poprzez referencje (ref) oraz wyjście (out),
- odwołanie do właściwości wygląda tak samo jak odwołanie do pól,
- mogą być deklarowane w interfejsach,
- od C#2.0 dostępne są prywatne settery.
Więcej na temat właściwości:
http://msdn.microsoft.com/pl-pl/library/x9fsa0sw.aspx
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):