Este ponto mostra alguns exemplos significativos da programação e manipulações de objectos utilizando acessores.
Seguindo o exemplo dado anteriormente, para uma lista, a classe do acessor para a classe do objecto de dados seria declarada da seguinte forma. listA L;
Dois acessores podem partilhar um mesmo objecto. Por exemplo, existindo um acessor K, L poderia partilhar o objecto fazendo a atribuição: listA L = K;
A atribuição a L de um objecto igual ao acedido por K, mas independente, poderia ser levada a cabo através do método especial makeCopy, pertencente ao acessor. Esta forma é claramente diferente da que seria utilizada se não existisse a indirecção e mostra o nível a que a não transparência na programação pode chegar. listA L = K.makeCopy();
A inicialização de um acessor com um novo objecto é feito através de um método do acessor, make, que é utilizado para criar o objecto acedido. O exemplo seguinte mostra como inicializar um acessor para listas com um objecto que é uma lista duplamente ligada. A necessidade de se ter esta operação é uma consequência directa do facto de um acessor não inicializar automatica e transparentemente o objecto encapsulado. Pode dar origem a ``esquecimentos'' e, consequentemente, à existência de acessores nulos, i.e., que não possuem nenhum objecto. listA L = dlListA::make();
A conversão de tipos é feita através de safe casts, que utilizam o método estático da classe do acessor is. Se dois tipos não estiverem relacionados o valor nulo, Nil, é retornado. Como exemplo, considere-se a declaração bagA B. A tentativa de atribuição: listA L = listA::is(B);
falha se B não for realmente uma lista, obtendo-se o retorno Nil para a chamada a is. Esta operação seria desnecessária se os acessores fossem algo mais sofisticados e substituissem, no programa, qualquer referência aos tipos originais. Nesse caso, as referências a tipos poderiam ser completamente controladas pelo compilador, não havendo necessidade de verificações em tempo de execução (embora estas possam ser úteis, mesmo quando existe suporte de compilador).