Forte Scarlet 在 Kotlin 新特性抢先看:伴生扩展与伴生块 中发帖

大家吼哇!不知道大家是否了解 Kotlin 即将推出的一个新的实验性特性:「Companion extensions and blocks(伴生扩展与伴生块)」呢? 
哦我的上帝!对于这个特性,我可是相当期待,就像我无时无刻不在期待乔治叔叔的姐姐那新鲜出炉的苹果派一样。
单看名字也能看得出来,这个特性似乎是 companion object 的亲戚。而失去了 object,它又能玩出什么花样?今天我打算挑出这个特性聊聊。
想写个扩展,怎么还得看类的脸色?
首先我们来假设这里有一个表示坐标的 Point,我作为第三方使用者,想给它加个工厂方法 Point.origin(),用来创建一个原点。
老办法大家应该不陌生,给伴生对象写扩展就行:
// 原类型
class Point(val x: Int, val y: Int) {
companion object
}
// 第三方...