面向对象编程中不需要类。有很多语言没有它们也能正常工作:Self、Io、Ioke、Seph、Slate、NewtonScript 和 ECMAScript 只有对象,没有类。其他语言有mixin。然而,其他语言也有特点。一些语言有类和混合,一些类和特征。
面向对象真正需要的唯一东西是某种执行过程抽象的方法。而已。Lambda Calculus 是一种完美的 OO 语言,事实上,因为它只有过程(实际上是函数)抽象而没有其他东西,有人可能会说 Lambda Calculus 是所有语言中最纯粹的 OO 语言。