clisp, CLOS: перепечатывание объекта, позже - PullRequest
1 голос
/ 12 марта 2012

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

Сохранить те же самые старые объекты и подклассифицировать их. Могу ли я сделать это?

1 Ответ

2 голосов
/ 12 марта 2012

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

...