Właściwości: przegląd


Właściwość, podobnie jak pole, definiuje atrybut obiektu. Jednak podczas gdy pole jest zaledwie zasobnikiem przechowującym wartość parametru, który może być odczytywany i modyfikowany, właściwość posiada specyficzne czynności skojarzone z odczytem i modyfikacją swej zawartości. Właściwość umożliwia kontrolę nad dostępem do atrybutu obiektu i udostępnia możliwość jego przeliczania.

Deklaracja właściwości specyfikuje jej nazwę i typ, oraz dołącza, co najmniej jedną specyfikację dostępu. Składnia jest następująca:

property propertyName[indexes]: type index integerConstant specifiers;

gdzie:

Właściwości są definiowane przez ich specyfikatory dostępu. Inaczej niż pola, właściwości nie mogą stanowić parametrów przekazywanych przez zmienną, ani nie można do nich stosować operatora @. Powodem jest to, że właściwość niekoniecznie egzystuje w pamięci. Może, na przykład, mieć metodę read pobierającą wartość z bazy danych lub generować wartość losową.

Pokrywanie i redeklarowanie właściwości