tom*_*myk 14 oop types programming-languages class instances
我正在阅读Scala论文的介绍,并发现以下声明:
应该注意的是,一些面向对象的语言没有类的概念.
问题:哪些面向对象的语言没有类概念,它们如何处理类型(类) - 对象(类型实例)关系?
尽管在流行语言中将它们混淆是很常见的,但是类和类型是不同的概念.类被正确理解为对象的蓝图,定义类实例拥有的属性和方法,但(对象)类型是接口,描述可以使用什么参数调用哪些方法.
因此,不难想象没有类的语言.您所需要的只是某种用于创建对象和赋予(新)对象属性和方法的构造; Javascript是一个众所周知的例子.继承在这些语言中看起来有点不寻常,但肯定可以做到(例如参见Antero Taivalsaari的文章"关于继承的概念").