首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类型和类的区别是什么?

类型和类的区别是什么?
EN

Stack Overflow用户
提问于 2009-01-22 05:44:04
回答 22查看 75.8K关注 0票数 179

是什么使类型与类不同,反之亦然?

(在一般的语言不可知论意义上)

EN

回答 22

Stack Overflow用户

回答已采纳

发布于 2009-04-20 17:58:32

以下答案来自Gof图书(Design Patterns)

一个对象的定义了该对象是如何实现的。该类定义了对象的内部状态及其操作的实现。相反,对象的类型只引用它的接口-它可以响应的一组请求。一个对象可以有多种类型,不同类的对象可以有相同的类型。

代码语言:javascript
运行
复制
//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函数。

票数 136
EN

Stack Overflow用户

发布于 2009-01-22 06:25:13

我总是认为“类型”是“类”和“原语”的总称。

int foo; // Type is int, class is nonexistent.

MyClass foo; // Type is MyClass, class is MyClass

票数 62
EN

Stack Overflow用户

发布于 2014-08-04 16:44:22

灵感来自于Wikipedia

类型理论中,项;

  • 类型是一个抽象接口。

类型通常表示名词,如人、地点或事物,或一些名词化的东西,

  • 表示该类型的实现。

它是一种具体的数据结构,subroutinesDifferent具体类的集合可以产生相同抽象类型的对象(取决于类型系统)。

*例如,可以使用两个类实现类型StackSmallStack (对于小型堆栈来说很快,但伸缩性很差)和ScalableStack (伸缩性很好,但对于小型堆栈来说开销很高).*

类似地,给定类可能有几个不同的constructors.

香蕉的例子。

  • Banana类型通常表示香蕉的属性和功能。
  • ABCBananaXYZBanana类将代表生产香蕉的方法。

(现实生活中不同的香蕉供应商,或者在视频游戏中表示和绘制香蕉的不同数据结构和函数)。

然后,ABCBanana类可以生成特定的香蕉,这些香蕉是类的实例,它们将是类型<代码>E237 Banana.的对象。

程序员为类型提供单一且唯一的实现的情况并不少见。在这种情况下,类名称通常与类型名称相同。但仍然有一个类型(如果需要,可以在接口中提取)和一个构建类的实例(对象)的实现(将实现单独的接口)。

票数 60
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/468145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档