• Scala学习笔记-5


    /**
    * @author Guohui Li
    */
    /**
    * 1、trait中未被实现的方法默认就是抽象的
    * 2、在重写trait的抽象方法时不需要给出override关键字
    * 3、如果你需要的trait不止一个,可以用with关键字来添加额外的trait
    * 4、Logger with Cloneable 是一个整体,由类来扩展
    */
    //作为接口的trait,在对象中混入trait代码
    trait Logger {
    // def log(msg: String) //这是个抽象方法,trait中未被实现的方法默认就是抽象的

    def log(msg:String){}
    }
    //Logger中的方法被“混入”到了ConcreteLogger类中
    class ConcreteLogger extends Logger with Cloneable { //用extends而非implements

    // override def log(msg: String) = println("Log:" + msg)
    def concreteLog {
    log("It's me!!!")
    }
    }

    trait TraitLogger extends Logger {
    override def log(msg: String) {
    println("TraitLogger Log content is :" + msg)
    }
    }

    trait TraitLoggered {
    def loged(msg: String) {
    println("TraitLoggered Log content is : " + msg)
    }
    }

    object UseTrait {
    def main(args: Array[String]): Unit = {
    val logger = new ConcreteLogger with TraitLogger
    logger.concreteLog
    }
    }

    附:

    本博客说明:

    1.整理思路,提高自己。

    2.受教于王家林老师,​有所收获,故推荐。

    3.博客注重实践,多余的文字就不多说了,都是做技术的。

    4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。​

    DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。

    Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:

    百度云盘:http://pan.baidu.com/s/1c0noOt6
    腾讯微云:http://url.cn/TnGbdC
    360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2

  • 相关阅读:
    log4j/log4e的使用
    数据库主键不应该具有任何业务意义
    孔雀森林,何时开屏
    spring + hibernate
    JAVA的运行时类型识别(RTTI)
    开年感想,2005年总结
    iphone真机(越狱)通讯录导入进模拟器
    xcode中工程引用设置
    UIButton setImage 图片大小选择
    加密技术资源
  • 原文地址:https://www.cnblogs.com/leegh1992/p/4684925.html
Copyright © 2020-2023  润新知