假设我有一堂课 animal, ,有子类 horse, duck, , 和 rabbit. 。假设我使用 make-instance 制作多个类对象 animal. 。很久以后,我发现,对于这些对象中的每一个,它实际上是一个 horse, ,或一个 duck, ,或一个 rabbit. 。有没有办法重新输入这些对象?简单地创建适当子类型的新对象并复制所有插槽中的数据会很笨拙,因为此时这样的对象已经在列表中表示,而列表又位于其他对象的插槽中,我必须去通过这些列表并用新对象替换旧对象。

保留相同的旧对象并对它们进行子分类。我可以这样做吗?

有帮助吗?

解决方案

改变阶级, ,一个标准的 Common Lisp 函数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top