Udostępnij za pośrednictwem


Usługi modelu obiektów czasu wykonywania

Klasy CObject i CRuntimeClass hermetyzacji kilka usług obiektu, łącznie z dostępem do informacji dotyczących wykonywania klas, serializacji i tworzenie dynamicznych obiektów.Wszystkie klasy pochodne CObject dziedziczą tę cechę.

Dostęp do informacji dotyczących wykonywania klas umożliwia określenie informacji dotyczących klasy obiektu w czasie wykonywania.Możliwość określenia klasy obiektu w czasie wykonywania jest przydatne, gdy trzeba, dodatkowe-kontrola typów argumentów funkcji i kiedy należy napisać kod specjalnego przeznaczenia, oparty na klasie obiektu.Informacje klasy w czasie wykonywania nie są obsługiwane bezpośrednio przez język C++.

Serializacja jest proces pisania lub czytania obiektu treści do lub z pliku.Serializacja służy do przechowywania zawartości obiektu, nawet po kończy pracę aplikacji.Obiekt może następnie odczytać z pliku po ponownym uruchomieniu aplikacji.Takie obiekty danych są określane jako "trwałe".

Tworzenie dynamicznych obiektów umożliwia tworzenie obiektu klasy określonej w czasie wykonywania.Na przykład dokument, widok i ramki obiektów musi obsługiwać dynamiczne tworzenie ponieważ ramach musi utworzyć je dynamicznie.

Poniższa lista zawiera makra MFC, które obsługują informacje klasy wykonywania, serializacji i dynamiczne tworzenie.

Aby uzyskać więcej informacji o tych usług wykonywania obiektu i serializacji, zobacz artykuł klasy CObject: uzyskiwanie dostępu do informacji klasy Run-Time.

Model obiektowy wykonywania usług makra

DECLARE_DYNAMIC

Zapewnia dostęp do informacji dotyczących wykonywania klas (musi być używany w deklaracji klasy).

DECLARE_DYNCREATE

Umożliwia dynamiczne tworzenie i dostęp do informacji dotyczących wykonywania klas (musi być używany w deklaracji klasy).

DECLARE_SERIAL

Umożliwia dostęp do informacji dotyczących wykonywania klas (musi być używany w deklaracji klasy) i serializacji.

IMPLEMENT_DYNAMIC

Zapewnia dostęp do informacji dotyczących wykonywania klas (musi być zastosowany w implementacji klasy).

IMPLEMENT_DYNCREATE

Umożliwia dynamiczne tworzenie i dostęp do informacji wykonywania (musi być zastosowany w implementacji klasy).

IMPLEMENT_SERIAL

Zezwala na serializacji i dostęp do informacji dotyczących wykonywania klas (musi być zastosowany w implementacji klasy).

RUNTIME_CLASS

Zwraca CRuntimeClass strukturę, która odpowiada nazwie klasy.

OLE wymaga często dynamicznego tworzenia obiektów w czasie wykonywania.Na przykład aplikację serwera OLE musi mieć możliwość dynamicznego tworzenia elementów OLE w odpowiedzi na żądanie od klienta.Podobnie serwera automatyzacji musi mieć możliwość tworzenia elementów w odpowiedzi na prośby klientów automatyzacji.

Microsoft Foundation Class Library zawiera makra dwa szczególne OLE.

Dynamiczne tworzenie obiektów OLE

DECLARE_OLECREATE

Włącza obiekty utworzone za pomocą automatyzacji OLE.

IMPLEMENT_OLECREATE

Włącza obiekty utworzone przez OLE system.

Zobacz też

Koncepcje

Makra i funkcje globalne MFC