类型类 在计算机科学中类型类type class是支持特设多态的类型系统构造这是通过向参数多态类型的类型变量增加约束完成的这种约束典型的涉及到一个类型类T和一个类型变量英语Type variablea并意味着a所能实例化的类型其成员必须支持关联于T的重载运算 类型类首先在Haskell中实现当时Philip Wadler和Stephen Blott提出它作为对Standard ML的eqtype的扩展并且最初构想为以本原方式实现重载算术及等式算符的一种途径 对比于Standard ML的eqtypes在Haskell中通过使用类型类重载等式算符不要求编译器前端或底层类型系统的广泛修改 自从它们创立之后已经发现了类型类的很多其他应用