Scala学习专题

Scala 为现有类添加新方法

2019-10-28  本文已影响0人  国服最坑开发

我们都知道在swift中, 可以很容易的为现有类添加一些扩展方法,
极大的提升了代码的灵活性.
那么在scala中如何做到这一点呢?
经过调查, 还真发现一个方法: https://alvinalexander.com/scala/scala-how-to-add-new-methods-to-existing-classes

代码示例如下:

object HttpDemo {

  class BetterString(val s: String) {
    def increment(): String = s.map(c => (c + 1).toChar)
  }

  implicit def stringToString(s: String): BetterString = new BetterString(s)

  def main(args: Array[String]): Unit = {
    println("abc".increment())
  }
}

这里使用了scala里比较有名的隐式转换, 在遇到"abc" string 调用的它原本不支持的方法时,
会隐式的调用了一次转换: String -> BetterString.

如此, 我们以后, 就可以编写一个String的扩展集合, 提高开发体验.

上一篇 下一篇

猜你喜欢

热点阅读