第11节:scala面向接口编程
来源:互联网 发布:淘宝人工 编辑:程序博客网 时间:2024/05/16 16:19
scala接口继承中第一个关键字一定是extends后面再出现接口要用with来实现接口scala中有个抽象属性:未被实例化的属性,必须说明类型,如val name:Stringscala对象的实例也可以混入接口,以扩展实例对象的功能package com.dt.spark.scala.bascistrait Logger{def log(message:String){println("Logger: "+ message)}}trait aLogger extends Logger{println("a Logger: " )override def log(message:String){println("a Logger: "+ message)}}trait bLogger extends Logger{println("b Logger: " )override def log(message:String){println("b Logger: "+ message)}}trait cLogger extends Logger{println("c Logger: " )override def log(message:String){println("c Logger: "+ message)}}trait dLogger extends Logger{println("d Logger: " )override def log(message:String){println("d Logger: "+ message)}}trait eLogger extends Logger{println("e Logger: " )override def log(message:String){println("e Logger: "+ message)}}trait RichLogger extends Logger{override def log(message:String){println("RichLogger: "+ message)}}trait information{def getInformation:Stringdef checkIn:Boolean={getInformation.equals("Spark")}println ("getInformation.equals Spark " +checkIn)}class Passenger (val name: String){def getInformation=nameprintln("getInformation: " +getInformation )}class Loggin (val name:String) extends Logger{def loggin{println("Loggin name: "+ name)log(name)}}object HelloTrait {def main(args: Array[String]): Unit = {new Loggin("DTspark").logginval personLoggin = new Loggin("Hello scala") with RichLoggerpersonLoggin.logginval abcdeLoggin = new Loggin("abcde") with aLogger with bLogger with cLogger with dLogger with eLoggerabcdeLoggin.logginnew Passenger("Spark").getInformationval passenger= new Passenger("Sparkjava") with informationpassenger.checkIn}}运行结果Loggin name: DTsparkLogger: DTsparkLoggin name: Hello scalaRichLogger: Hello scalaa Logger:b Logger:c Logger:d Logger:e Logger:Loggin name: abcdee Logger: abcdegetInformation: SparkgetInformation: SparkjavagetInformation.equals Spark false
阅读全文
0 0
- 第11节:scala面向接口编程
- scala面向接口编程
- 第7节:scala面向对象编程
- 第11课:scala面向接口编程彻底实战和spark源码鉴赏
- 第10节:scala面向对象编程中的继承
- Scala入门No.2-面向接口编程
- Scala入门之面向接口编程
- 第11课:Scala面向接口彻底实战和Spark源码鉴赏
- Scala面向接口编程和Spark源码鉴赏
- Scala 面向对象编程
- scala面向对象编程
- Scala面向对象编程
- Scala面向对象编程
- 大数据Spark“蘑菇云”行动-第11课:Scala面向接口彻底实战和Spark源码鉴赏
- 第25节:Scala并发编程进阶
- 第5节:Scala函数式编程
- 第14节:scala编程之集合
- 第27节:Scala面向对象内幕实践解密
- Struts2转换器
- 我的Chrome插件
- Least Common Multiple
- 关注下micropython1.4.5的pendsv.C以及如何提高编译速度
- 【JavaSE_学习笔记】List接口的三个子实现类
- 第11节:scala面向接口编程
- select下拉列表
- 三层json
- IP地址,以及子网划分
- Bee Breeding UVA
- MySQL数据库体系结构
- Ubuntu笔记整理
- algorithm中常用的现成算法
- 图解SSH原理