клипс, ЗАКРЫТЬ:перепечатка объекта, позже
-
12-12-2019 - |
Вопрос
Предположим, у меня есть класс animal
, с подклассами horse
, duck
, и rabbit
.Предположим, я использую make-instance
сделать несколько объектов класса animal
.Много позже я обнаружил, что каждый из этих объектов на самом деле является horse
, или duck
, или rabbit
.Есть ли способ перепечатать эти объекты?Просто создавать новые объекты соответствующих подтипов и копировать данные во все слоты было бы неуклюже, потому что к этому моменту такой объект уже представлен в списках, находящихся в слотах еще других объектов, и мне пришлось бы идти просмотреть эти списки и заменить старые объекты новыми.
Сохраняйте те же старые объекты и разделяйте их на подклассы.Я могу сделать это?
Решение
ИЗМЕНИТЬ КЛАСС, стандартная функция Common Lisp.