Pergunta

Suponha que eu tenha uma aula animal, com subclasses horse, duck, e rabbit.Suponha que eu use make-instance fazer vários objetos de classe animal.Muito mais tarde, descubro, para cada um desses objetos, que na verdade é um horse, ou um duck, ou um rabbit.Existe uma maneira de redigitar esses objetos?Simplesmente criar novos objetos dos subtipos apropriados e copiar os dados em todos os slots seria desajeitado, porque a essa altura tal objeto já está representado em listas que estão em slots de outros objetos, e eu teria que ir através dessas listas e substitua os objetos antigos pelos novos.

Mantenha os mesmos objetos antigos e subclassifique-os.Posso fazer isso?

Foi útil?

Solução

MUDANÇA DE CLASSE, uma função Common Lisp padrão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top