【发布时间】:2015-07-04 22:13:01
【问题描述】:
groovy 的扩展模块特性是 java 继承特性的混合形式吗?为什么扩展模块需要声明为静态?
【问题讨论】:
-
从继承的角度考虑扩展模块是个坏主意。他们用额外的行为扩展了一个特定的类:所以他们正在修改现有的继承层次结构,而不是为它做出贡献……但他们的上下文确实集中在一个类上(所以再次忽略继承)。其他语言具有类似的构造作为第一类类型定义的一部分(Go、Scala、Kotlin...)。它们是静态的,因为它们是在其运行时绑定环境之外定义的:,因此接收实例作为参数(再次类似于其他语言的方法)。
标签: java groovy gdk extension-modules