Właściwości
void __fastcall ClearName(String * Name) { Name = NULL; }Jeżeli próbowałbyś przekazać właściwość jako Name kompilator wygeneruje błąd. Podczas wywołania funkcji referencją właściwości nie jest String, lecz zestaw funkcji, które zwracają String. Kompilator jest na tyle bystry, że nie pozwoli Ci popełnić tego błędu. Dlaczego używać właściwości? Jest wiele korzyści: - W przeciwieństwie do metod, które są dostępne tylko w czasie pracy programu, właściwości są dostępne również w fazie projektowania. - Właściwości mogą być modyfikowane Inspektorem Obiektów, co pozwala na wizualne ich modyfikowanie. Ustawienie właściwości w fazie projektowania jest o wiele łatwiejsze niż przy użyciu kodu. - Ponieważ dane są enkapsulowane, są one zabezpieczone i ograniczone do danego obiektu. - Wywołania get i set są metodami, więc ewentualna obróbka danych jest niewidoczna dla użytkownika obiektu. Na przykład dana mogłaby się mieścić w tablicy, ale dla programisty byłaby widoczna jako zwykła, pojedyncza dana. - Możesz zaimplementować funkcje wyzwalające zdarzenia albo modyfikujące inne dane podczas dostępu do właściwości. Na przykład zmiana właściwości może pociągnąć za sobą zmianę innej. - Właściwości mogą być wirtualne. - Właściwość nie musi być ograniczona do pojedynczego obiektu. Zmiana właściwości jednego obiektu może wpłynąć na kilka innych obiektów. Na przykład zmiana właściwości Checked jednego z przycisków RadioButton może wpłynąć na stan innych.
|