Tworzenie właściwości
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!
|