「Common Lisp Object System」の版間の差分

削除された内容 追加された内容
Guicho w (会話 | 投稿記録)
Guicho w (会話 | 投稿記録)
69行目:
具体的には、<code>defclass</code>を再度評価してクラス定義を変更した際、CLOSは<code>(make-instances-obsolete CLASS)</code>を呼び出す。<code>make-instances-obsolete</code>は指定されたクラスのすべてのインスタンスに対して<code>update-instance-for-redefined-class</code>を呼び出す。
 
<code>update-instance-for-redefined-class</code>は新たに追加されたスロットや削除されたスロットの情報を引数として受けとり、同じく引数として受け取ったインスタンスから新しい定義に基づいて新たに作ったインスタンスへ値をコピーする。値をコピーした後、元のインスタンスをガベージコレクタに掛け、かつ元のアドレスポインタが新たなインスタンスを指すように変更する。
 
== クラスベース ==