是什么使类型与类不同,反之亦然?
(在一般的语言不可知论意义上)
发布于 2009-04-20 17:58:32
以下答案来自Gof图书(Design Patterns)
一个对象的类定义了该对象是如何实现的。该类定义了对象的内部状态及其操作的实现。相反,对象的类型只引用它的接口-它可以响应的一组请求。一个对象可以有多种类型,不同类的对象可以有相同的类型。
//example in c++
template<typename T>
const T & max(T const &a,T const &b)
{
return a>b?a:b; //> operator of the type is used for comparison
}max function需要一个具有操作的类型>和它自己的类型作为接口之一,任何满足上述要求的类都可以用于为该类生成特定的max函数。
发布于 2009-01-22 06:25:13
我总是认为“类型”是“类”和“原语”的总称。
int foo; // Type is int, class is nonexistent.
MyClass foo; // Type is MyClass, class is MyClass
发布于 2014-08-04 16:44:22
灵感来自于Wikipedia。
在类型理论中,项;
类型通常表示名词,如人、地点或事物,或一些名词化的东西,
它是一种具体的数据结构,subroutinesDifferent具体类的集合可以产生相同抽象类型的对象(取决于类型系统)。
*例如,可以使用两个类实现类型Stack:SmallStack (对于小型堆栈来说很快,但伸缩性很差)和ScalableStack (伸缩性很好,但对于小型堆栈来说开销很高).*
类似地,给定类可能有几个不同的constructors.

香蕉的例子。
Banana类型通常表示香蕉的属性和功能。ABCBanana和XYZBanana类将代表生产香蕉的方法。(现实生活中不同的香蕉供应商,或者在视频游戏中表示和绘制香蕉的不同数据结构和函数)。
然后,ABCBanana类可以生成特定的香蕉,这些香蕉是类的实例,它们将是类型<代码>E237 Banana.的对象。
程序员为类型提供单一且唯一的实现的情况并不少见。在这种情况下,类名称通常与类型名称相同。但仍然有一个类型(如果需要,可以在接口中提取)和一个构建类的实例(对象)的实现(将实现单独的接口)。
https://stackoverflow.com/questions/468145
复制相似问题