美文网首页Scala学习专题
Scala 为现有类添加新方法

Scala 为现有类添加新方法

作者: 国服最坑开发 | 来源:发表于2019-10-28 13:57 被阅读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的扩展集合, 提高开发体验.

相关文章

  • Scala 为现有类添加新方法

    我们都知道在swift中, 可以很容易的为现有类添加一些扩展方法,极大的提升了代码的灵活性.那么在scala中如何...

  • iOS分类Category相关知识

    分类能干什么 · 为现有类添加实例方法· 为现有类添加类方法(静态方法)· 为现有类添加属性· 为现有类添加协议·...

  • iOS 分类(Categories)

    简介: 分类是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,可以为现有的类添加新...

  • 面试问题之五:类别 扩展 继承

    类别 类别是一种为现有的类添加新方法的方式。 利用Objective-C的动态运行时分配机制,可以为现有的类添加新...

  • 类目,延展,和协议,代理

    为什么使用类目是一种为现有的类添加新方法的方式有时需要对现有的类添加一些方法,之前都是通过继承相关的类,然后再子类...

  • IOS 我不知道的CateGory

    CateGory是类别,是为现有类添加的方式,这是一种比继承更为简洁的方法,来对类进行扩展,无需使用子类添加新方法...

  • category && delegate&

    分类是一种为现有的类添加新方法的方式。 分类的局限性 一、无法向类中他添加新的实例变量 二、当分类中的方法和现有方...

  • 浅谈OC类别(Category)

    简述 类别是一种为现有类添加新方法的方式,我们有时可以见到“类名称+类别名称”的命名方式。类别可以添加属性prop...

  • iOS类目的简单介绍

    1.什么是类目(类别) 类别( category )是 Objective-C 语言的新特性,为现有的类添加新方法...

  • Category详解及和Extension的区别

    Category和Extension的区别 1、Category:类别,分类 类别是一种为现有的类添加新方法的方式...

网友评论

    本文标题:Scala 为现有类添加新方法

    本文链接:https://www.haomeiwen.com/subject/iqcbvctx.html