2012-03-12 6 views
1

Предположим, у меня есть класс animal, с подклассами horse,, rabbit. Предположим, я использую make-instance для создания нескольких объектов класса animal. Много позже я обнаружил для каждого из этих объектов, что это фактически horse, или duck, или rabbit. Есть ли способ перепечатать эти объекты? Просто создание новых объектов соответствующих подтипов и копирование данных во всех слотах было бы неуклюжим, потому что к этому времени такой объект уже представлен в списках, которые находятся в слотах еще и других объектов, и мне нужно будет идти через эти списки и заменить старые объекты новыми.clisp, CLOS: переименование объекта, позже

Храните те же старые объекты и подклассифицируйте их. Я могу сделать это?

ответ

2

CHANGE-CLASS, стандартная общая функция Lisp.

+0

... и я не знаю, как я пропустил это. Это было прямо в CLtL. Спасибо! –

+3

О, да ладно. Вы, очевидно, отправляете вопрос, на который вы уже знаете ответ, чтобы благовествовать Лиспа. :) – Kaz

 Смежные вопросы

  • Нет связанных вопросов^_^