14

我正在阅读 Scala 论文的介绍,发现以下声明:

需要注意的是,一些面向对象的语言没有类的概念。

问题:哪些面向对象的语言没有类概念,它们如何处理类型(类)-对象(类型实例)关系?

4

1 回答 1

6

尽管在流行语言中将它们混为一谈很常见,但类和类型是不同的概念。类正确理解为对象的蓝图,定义了类的实例所具有的属性和方法,但是(对象)类型是接口,描述了可以用什么参数调用什么方法。

因此,不难想象没有类的语言。您所需要的只是某种用于创建对象和赋予(新)对象属性和方法的构造;Javascript 是一个众所周知的例子。在此类语言中,继承看起来有点不寻常,但肯定可以做到(例如,参见Antero Taivalsaari 的文章“关于继承的概念”)。

于 2012-12-18T12:09:44.767 回答