如何在普通的 lisp 中描述、实现和接口

How to describe and implement and interface in common lisp

我正在实现一个图形数据结构,它将任意对象存储为顶点。我想为诸如获取对象键之类的事情定义一个接口,以便所有顶点都可以有一个键。在我看来,这听起来像是我可以在 java.

这样的语言中使用界面的地方
interface Vertex {
  String key (Vertex v);
  // etc...
}

如何在普通 lisp 中模拟接口的行为?

一样,没有接口,在某些语言使用它们的意义上(例如,Java),所以您需要做的就是定义一些通用函数和可选的 mixin class 指定为实现 classes.

的超级class