【发布时间】:2019-08-31 06:26:14
【问题描述】:
我发现元类的概念很吸引人,它将类视为第一类对象。您可以将类分配给变量,将其传递给方法,甚至在运行时创建新类。似乎每一种支持元类的编程语言要么是动态类型语言(Smalltalk、Python、Ruby),要么是渐进类型语言(Objective C 和 Groovy 都支持静态和动态类型)。我还没有看到支持元类的静态类型语言。
静态类型和元类是否相互不兼容?在我看来,元类的功能需要一定程度的活力。我仍然想知道像 Java、C# 和 Kotlin 这样的静态类型语言在技术上是否可以支持元类并将类作为第一类对象,还是理论上是不可能的?
【问题讨论】: