next up previous contents index
Next: Código adicional Up: Modificações de código Previous: Modificações de código

Interface

Na modificação da interface, não só o nome da classe, mas também as assinaturas dos métodos vão ser modificadas. Não bastará trocar o nome de uma classe, na sua definição. É necessário mudar também todas as ocorrências do nome na interface da classe.

Em linguagens, como o C++, em que os parâmetros de métodos são tipificados, as ocorrências do nome da classe nas declarações de argumentos não devem ser tomadas como definição da interface. Os tipos dos argumentos deverão permanecer inalterados, pois passarão a ser tratados como se se referissem a envelopes. Este aspecto pode apresenta um problema que introduz complicações na realização do sistema: algumas linguagens fazem distinção entre tipos de variáveis e tipos dos objectos, sendo, em alguns casos, bastante problemática a eliminação da dualidade. O capítulo 6 descreve uma solução para a linguagem C++.

Em liguagens como Smalltalk, onde os argumentos não têm tipos, o problema anterior não se põe, havendo apenas que garantir que os objectos passados como argumentos sejam instâncias das classes apropriadas que, neste caso, são envelopes.

Em qualquer dos dois casos, tipificado ou não, a garantia de que os argumentos passados são envelopes, é dada pelo código do próprio nível de programa, que os usa como se fossem objectos seus, i.e., cartas.



David M. M. de Matos
Thu Jun 29 14:58:09 MET DST 1995