• 8.scala:特质


    版权申明:转载请注明出处。
    文章来源:http://bigdataer.net/?p=317

    总体来说,scala中的特质类似于Java中的接口,但是有别于接口的是特质中既可以有实现方法也可以有抽象方法。

    1.特质的定义

    使用关键字trait来定义一个特质,如:

    scala    5行

    trait Log{
     def info(msg:String)
     def debug(msg:String){print(msg)}
    }
    

    2.特质的使用

    通过关键字extends来使用特质,这样,使用了特质的这个类就混入了特质的实现方法和抽象方法。其中,实现方法可以直接使用,抽象方法可以在类中实现,需要注意的是重写这些方法不需要使用注解override。如:

    scala    7行

    class Cat extends Log{
     //实现抽象方法
     def info(msg:String){print("I am a cat")}
     //直接使用已实现的方法
     debug("I am running")
    }
    

    3.特质的叠加

    可以为一个类添加多个特质,使用关键字with连接。如果添加的多个特质里面有相同的方法,可以使用super[T].method()来指定使用哪个特质里面的方法。如……[阅读全文]

  • 相关阅读:
    原型污染
    C#之抛异常
    为什么['1', '7', '11'].map(parseInt) returns [1, NaN, 3]?
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
    其他
  • 原文地址:https://www.cnblogs.com/bigdataer/p/6796204.html
Copyright © 2020-2023  润新知