Qualquer objecto composto mais não é do que um objecto de programa ao qual estão associados objectos de ligação que lhe permitem evidenciar as características que o diferenciam dos restantes.
Do ponto de vista da aplicação, os únicos objectos criados são objectos de programa. Todos os objectos, sejam eles de programa ou de ligação, são criados da mesma forma, correspondente à da da linguagem utilizada. A criação de objectos de ligação, e consequentemente, a dos pseudo-objectos, reveste-se de complexidade se for considerada partindo do sistema. Deste ponto de vista, o que a aplicação faz, ao criar um pseudo-objecto de programa, é desencadear uma série de acções automáticas e, por isso, transparentes, que vão levar, primeiro, à criação de alguns objectos de ligação (envelopes), e, posteriormente, à de objectos de programa ou de objectos de suporte (e.g. objectos representantes do de programa).
A acção de destruição é inteiramente análoga à de criação. Os objectos de programa são destruídos das formas previstas na linguagem, enquanto que os objectos compostos são destruídos como consequência do desencadear de uma acção de destruição, transparente, por parte da aplicação, sobre um objecto de ligação, em princípio, um envelope, se bem que seja possível prever situações em que os objectos são destruídos internamente, pelo nível de ligação (e.g. sistema de reciclagem automática de memória). Cabe ao envelope tomar a decisão de destruir a sua carta.
Os objectos de programa, independentemente dos agentes que lhes dão origem, são sempre criados como qualquer objecto da linguagem.
Exemplos de situações onde sejam criados objectos dos vários tipos podem ser vistos no capítulo 5, onde alguns deles são utilizados para a concretização de algoritmos correspondentes à funcionalidade do módulo a que pertencem.