|
Implementacja TObject Strona
7 z 9 Dalej |
w oparciu o materiały ze stron BytaminC
|
Główne gałęzie
Są dwie główne gałęzie - Exceptions (wyjątki) i TPersistent. Pod gałęzią Exceptions znajdziesz wszystkie klasy dla sytuacji wyjątkowych systemu. Ta część wykresu będzie rzadziej używana niż TPersistent. TPersistent zawiera enkapsulowane funkcjonalności obiektów pozwalające na zapisywanie i odczytywanie danych ze strumieni, przypisywanie obiektów do innych obiektów i inne zachowania. Nigdy nie powinieneś tworzyć obiektu TPersistent, ale możesz go wybrać na punkt wyjścia dla Twojej klasy.
Zauważ, że wiele klas jest dziedziczonych z TObject i są one pomiędzy TExceptions i TPersistent. Te klasy są bezpośrednimi potomkami TObject i znajdziesz tam kilka bardzo przydatnych, na przykład: TList, TThread, TPrinter.
Oto jak wygląda wykres hierarchii:
Pod TPersistent masz pierwszą główną klasę, TComponent. Wszystkie klasy poniżej są ...komponentami. Oznacza to, że mogą zostać umieszczone na formie i zarządzane Inspektorem Obiektów. Tutaj znajdziesz VCL. VCL jest podzielone na kontrolki (TControls) i komponenty (TComponents). Kontrolki zaś podzielono na dwie sekcje - TGraphicControls i TWinControls. Omówmy je bardziej szczegółowo:
- TComponent - przodek wszystkich komponentów. Nie twórz obiektów tej klasy. Daje ona komponentom możliwość pokazania się na palecie komponentów, pozwala na konwersję komponentu do obiektu ActiveX, pozwala wreszcie na manipulowanie komponentem poprzez Inspektor Obiektów.
- TControl - przodek wszystkich kontrolek. Również nie powinieneś tworzyć obiektów TControl. Zapewnia ona klasę ze standardowymi kontrolkami wizualnymi, jak pozycja, kursor, pomoc kontekstowa. Zajmuje się również zdarzeniami myszki.
- TGraphicControl - kontrolki (komponenty) poniżej tej gałęzi są używane do wyświetlania tekstu, bądź grafiki i są kontrolkami nie posiadającymi okna.
- TWinControl - kontrolki poniżej tej gałęzi posiadają okno, mogą być więc aktywowane /focus/, mogą być rodzicami innych kontrolek, mogą obsługiwać zdarzenia klawiatury i mogą mieć uchwyt do okna. Pod tą gałęzią znajdziesz klasę TCustomControl, która będzie punktem wyjścia dla Twoich kontrolek posiadających własne okno.
|