• 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

  • 相关阅读:
    Chrome cookies folder
    Fat URLs Client Identification
    User Login Client Identification
    Client IP Address Client Identification
    HTTP Headers Client Identification
    The Personal Touch Client Identification 个性化接触 客户识别
    购物车 cookie session
    购物车删除商品,总价变化 innerHTML = ''并没有删除节点,内容仍存在
    453
    购物车-删除单行商品-HTMLTableElement.deleteRow()
  • 原文地址:https://www.cnblogs.com/leegh1992/p/4684925.html
Copyright © 2020-2023  润新知