Implementacja TObject      Strona 9 z 9
w oparciu o materiały ze stron BytaminC

       Tworzenie właściwości

      Deklaracja właściwości składa się z nazwy, typu i metod użytych do czytania i zapisania wartości. Metoda zapisywania jest opcjonalna i jeżeli się ją opuści właściwość można jedynie odczytywać /read-only/. W deklaracji możesz też umieścić wartość domyślną właściwości. Spójrzmy jak wygląda przykładowa deklaracja:

class PACKAGE TExample : public TWinControl
{
private:
int FAge;
bool FMarried;
String FName;

public:

void __fastcall SetAge(int tAge);
void __fastcall SetMarried(bool tMarried);
String __fastcall GetName();
void __fastcall SetName(String tName);

__published : 
__property int Age =  {read = FAge, write = SetAge};
__property bool Married = {read = FMarried, write = SetMarried,
                         default = true};
__property String Name = {read = GetName, write = SetName};
}; //koniec deklaracji klasy

void __fastcall TExample::SetAge(int tAge)
{
FAge = tAge;
} 

void __fastcall TExample::SetMarried(bool tMarried)
{
FMarried = tMarried;
}

String __fastcall TExample::GetName()
{
return FName;
}

void __fastcall TExample::SetName(String tName)
{
FName=tName;
}
      W przykładzie tym stworzyliśmy trzy właściwości: Age, Married i Name. W deklaracji właściwości, za nazwą właściwości znajdują się instrukcje dostępu do niej. We właściwościach Age i Married, czytanie jest dokonywane poprzez bezpośredni dostęp do enkapsulowanej danej, zaś zapisywanie obsługiwane jest przez metodę. W przykładzie Name, zarówno czytanie jak i pisanie obsługiwane są przez metody. Zauważ, że właściwość Married ma domyślną wartość true.

      Kiedy nie używać obiektów

      Są zastosowania, kiedy obiekty nie są pożądane. Chociaż tworząc klasę można rozwiązać niemal każdy problem, to dobry programista zawsze powinien wybrać najlepsze rozwiązanie. Pamiętaj, że koncepcją OOP jest grupowanie danych i kodu. Jeżeli masz dane bez kodu, powinieneś stworzyć strukturę zamiast klasy. Jeżeli masz kod bez danych, stwórz po prostu odpowiednie funkcje... Zestaw funkcji może być umieszczony w jednym pliku i w ten sposób pogrupowany zamiast tworzenia klasy.

      Końcowe uwagi

      Mam nadzieję, że wprowadziłem Cię w cudowny świat C++ Builder'a. Może po przeczytaniu tego artykułu programowanie OOP będzie dla Ciebie nieco bardziej zrozumiałe. Pamiętaj, że aby zdobyć doświadczenie, trzeba dużo ćwiczyć!

Powodzenia!

Autor: Scott Cross
Tłumaczenie:  Maciek Frankiewicz

1  2  3  4  5  6  7  8  9