• 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

  • 相关阅读:
    HDU 1160 dp中的路径问题
    zzuli 1907: 小火山的宝藏收益
    POJ 3414 dfs广搜直接应用
    http://acm.zzuli.edu.cn/zzuliacm/problem.php?cid=1158&pid=5 二分函数的间接应用
    LightOJ 1067 组合数取模
    九段美到极致的句子
    质数和分解
    codevs 1080 线段树练习
    codevs 2806 红与黑
    codevs 2152 滑雪
  • 原文地址:https://www.cnblogs.com/leegh1992/p/4684925.html
Copyright © 2020-2023  润新知