CLOS 是一个对象系统,其中 CLOS 概念本身就是一流的对象。类本身就是元类的实例。有一些循环性。
有一个实例standard-object
。它是 的一个实例standard-class
。它本身就是一个类。所有标准 CLOS 对象都将其作为超类。还有其他类型的对象,例如结构。standard-object
所有典型 CLOS 对象的超类也是如此。
standard-class
是自身的实例。它是所有类对象的类。由于standard-object
也是一个类,所以该类的实例是该类standard-object
的一个实例standard-class
。由于所有标准类也是 CLOS 对象,因此standard-class
继承自standard-object
.
CL-USER 22 > (class-of (find-class 'standard-object))
#<STANDARD-CLASS STANDARD-CLASS 40F016A063>
standard-object
类对象的类是standard-class
。
CL-USER 23 > (class-of (find-class 'standard-class))
#<STANDARD-CLASS STANDARD-CLASS 40F016A063>
standard-class
类对象的类是standard-class
。
CL-USER 24 > (find-class 'standard-object)
#<STANDARD-CLASS STANDARD-OBJECT 40F017732B>
类standard-object
本身就是一个对象和一个类。它是所有 CLOS 对象的超类。
CL-USER 25 > (find-class 'standard-class)
#<STANDARD-CLASS STANDARD-CLASS 40F016A063>
类standard-class
本身就是一个对象和一个类。它是所有 CLOS 类的超类。