System.TAggregatedObject

From RAD Studio API Documentation
Jump to: navigation, search

System.TObjectTAggregatedObject

Delphi

TAggregatedObject = class(TObject)

C++

class PASCALIMPLEMENTATION TAggregatedObject : public TObject

Properties

Type Visibility Source Unit Parent
class public
System.pas
systobj.h
System System

Description

TAggregatedObject provides the functionality for an inner object of an aggregate by implementing the IInterface methods to delegate to the controlling IInterface.

An aggregated object is an object composed of several interfaced objects. Each object implements its own behavior and interfaces, but all the objects share the same reference count, which is that of the controller object. In the container pattern, the controller is the container object.

TAggregatedObject does not itself support any interfaces. However, as is typical of an aggregate, it does implement the methods of IInterface, which are used by the objects that descend from it. TAggregatedObject, therefore, serves as a base for classes that implement interfaces for creating objects that are part of an aggregate.

TAggregatedObject is used as a base for classes that create contained objects and connecting objects. Using TAggregatedObject ensures that calls to the IInterface methods delegate to the controlling IInterface of the aggregate.

The controlling IInterface is specified in the constructor for TAggregatedObject and is indicated by the Controller property.

See Also