System.TContainedObject
Delphi
TContainedObject = class(TAggregatedObject, IInterface)
C++
class PASCALIMPLEMENTATION TContainedObject : public TAggregatedObject
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
class | public | System.pas systobj.h |
System | System |
Beschreibung
TContainedObject implementiert die Schnittstelle IInterface als inneres Objekt in einem Aggregatobjekt.
TContainedObject kann als Basis für solche Klassen verwendet werden, die innere (enthaltene) Objekte eines Aggregatobjekts erzeugen. Verwenden Sie TComObject oder abgeleitete Klassen für äußere Objekte, die Aggregation unterstützen.
- TContainedObject unterstützt die folgenden Implementierungsregeln für aggregatfähige (innere oder enthaltene) Objekte:
- Wenn ein Objekt dieses Typs erzeugt wird, muss ein Schnittstellenobjekt des Typs IInterface vorliegen.
- Die IInterface-Methoden _AddRef und _Release delegieren an das steuernde IInterface-Objekt.
- QueryInterface ist in TContainedObject nur für Schnittstellen implementiert, die im enthaltenen Objekt implementiert sind.
- Der Referenzzähler im inneren Objekt wird im äußeren Objekt inkrementiert.
Anmerkung: In Delphi wird TContainedObject als Basisklasse für einen Verbindungspunkt verwendet, der das innere Objekt in einem Aggregat sein muss.
Anmerkung: Ein Aggregatobjekt besteht aus mehreren Objekten, die Schnittstellen verwenden. Jedes Objekt implementiert sein eigenes Verhalten und eigene Schnittstellen, aber alle Objekte sind mit demselben Referenzzähler verbunden, der wiederum Eigentum des Controller-Objekts ist. Übertragen auf das Schema der Objekt-Container, ist der Controller das Container-Objekt.