This article谈到了类型和类之间的区别。由于我只使用过将两者视为相同的语言,因此请提供材料/编程语言,以便教会我与众不同之处。
答案 0 :(得分:2)
差异不是正确的词 - 类肯定是类型。但并非所有类型都是类。还要注意“class”这个词很模糊 - 它可能只是一个元组类型(除了构造和投影之外没有任何操作 - 可以说是一个C结构),或者在光谱的另一边,只包含一个类方法,但没有国家。
答案 1 :(得分:1)
Sather是我所知道的最古老的语言,它分别处理类型和类。但是,它并不是完全严格的,因为人们仍然可以使用类作为变量类型(我认为),只是不能对它进行子类型化。
这与C ++允许你做的完全不同:你可以使用纯抽象类来定义类型,并让所有具体的类使用公共继承来实现它们,但是使用私有继承来相互子类化。然后,您可以使用抽象类作为变量类型,仅在构造函数表达式中使用具体类。
Java允许你做大致相同的事情,使用类使用接口和实现来定义类型,但由于没有私有继承,因此无法隐藏类的继承关系。
这有什么意义吗?
答案 2 :(得分:0)
Java,预先自动装箱。 int
和Integer
都是类型,但只有后者才是类。