Aggregation will no longer be supported as a high-level 概念 of UNO.
You may still have the 選択 to 器具/実施する an UNO 反対する consisting of
several 選び出す/独身 反対するs in your 明確な/細部 programming language, though this
depends on your programming language.
Description
反対するs which 器具/実施する this interface can become aggregates of
a delegator.
That means if an 反対する "A" aggregates "B", "A" can 供給する all
or some of the interfaces of "B". Whenever the method
XInterface::queryInterface()
is called on either of the 反対するs, the call will be 今後d
to 反対する "A". 反対する "A" now can 決定する whether to use the
interfaces of "A" or "B" or neither. 現実に, any number of
aggregates can be used, even nested ones (aggregated 反対するs which are
delegators by themselves).
The に引き続いて 支配するs are to be 観察するd:
All calls to XInterface::acquire()
which are made before the delegator was 始める,決める (using the method
setDelegator()) must not be taken 支援する
(using the method XInterface::解放(する)())
before the 代表 is 除去するd by calling
xAggregation->setDelegator(NULL).
The 建設者 of a delegator has to increment its
own 言及/関連 count by calling its method
XInterface::acquire()
before it 始める,決めるs itself to any aggregate using the method
setDelegator(). After that
call it has to reset its own 言及/関連 count without the
destructor getting called.
The destructor of a delegator has to reset the delegator in
its aggregated 反対するs by calling their method
setDelegator() with
NULL before it 解放(する)s its 言及/関連 to
its aggregated 反対するs.
明示するs the 反対する which 扱うs the calls to
XInterface::queryInterface().
If xDelegator is NULL, the delegator is
除去するd and thus the 反対する becomes its own delegator and has
to 扱う calls to the method
XInterface::queryInterface()
itself.
This method is only called from within an 実施 of
XInterface::queryInterface()
or XAggregation::queryAggregation(). This method
is to be called by the delegator if it does not 器具/実施する the
interface itself. An 反対する which got aggregated cannot depend
on getting its own interface when it calls the method
XInterface::queryInterface().