Kluczem do sukcesu Delphi i C++ Builder jest klasa bazowa TObject. Wszystkie obiekty VCL są potomkami TObject. Borland rozszerzył podstawową klasę C++, żeby była kompatybilna z VCL. Pomówmy o kilku rozszerzeniach:
RTTI /Runtime Type Identification - identyfikacja typu w czasie pracy programu/
RTTI zostało rozszerzone, pozwalając na lepszą identyfikację klas. Te rozszerzenia składają się z dodatkowych metod i danych TObject. Poniżej znajdują się najważniejsze:
- ClassInfo() - dynamicznie (w czasie pracy programu) zwraca wskaźnik do RTTI klasy.
- ClassNameIs() - zwraca prawdę, gdy przekazany AnsiString zgadza się z nazwą klasy.
- ClassParent() - zwraca nazwę klasy, z której wywodzi się obiekt.
- ClassType() - zwraca nazwę klasy.
Inne rozszerzenia RTTI są używane wewnętrznie przez VCL i nie warto o nich wspominać. A dlaczego o tym mówimy? Informacja RTTI może naprawdę pomóc programiście. Będziesz mógł dzielić zdarzenia na jednej formie wiedząc przez jaką kontrolkę zostało wyzwolone zdarzenie. Informacja ta pozwala również na większość operacji polimorfizmu podczas implementacji z VCL.
Autor: Scott Cross Tłumaczenie: Maciek Frankiewicz