大数据系列修炼-Scala课程04
Scala中继承实现:超类的构造、字段重写、方法重写
关于超类的构建:超类可以在子类没有位置的限制,可以在子类中调用父类的方法
类中字段重写:在重写字段前面加一个override就可以重新赋值
类中方法重写:与字段重写差不多,参数,方法名也要相同
class Person1(val name : String, var age : Int){
println("The primary constructor of Person")
val school = "BJU"
def sleep = "8 hours"
override def toString = "I am a Person1!"
}
class Worker(name : String, age : Int, val salary : Long) extends Person1(name, age){
println("This is the subClass of Person, Primary constructor of Worker")
override val school = "Spark"
override def toString = "I am a Worker!" + super.sleep
}
抽象类、抽象字段、抽象方法
抽象类实现:在前面加一个abstract 关键字,里面的字段可以不赋值,方法可以不实现,如果不是抽象类的字段可以用占位符来代替
抽象字段实现:字段前可以加override来赋值
抽象方法实现:方法前也是加一个override关键字
class AbstractClassOps{
var id : Int = _
}
abstract class SuperTeacher(val name : String){
var id : Int
var age : Int
def teach
}
class TeacherForMaths(name : String) extends SuperTeacher(name){
override var id = name.hashCode()
override var age = 29
override def teach{
println("Teaching!!!")
}
}
Scala中接口的trait以及在对象中混入trait实现
Scala中接口trait实现:Scala中接口用trait来修饰,而java中用interface来修饰,方法中可以是抽象方法和没有实现的空方法,接口实现用extends来操作,方法可以被实现也可以不实现
在对象中混入trait实现:接口可以被多个类实现,如果某个类没有实现,在实例对象是可以用别的对象实现的方法with otherClass ,就可以调用里面的方法,这样灵活性就大了
trait Logger{
// def log (msg : String)
def log (msg : String){}
}
class ConcreteLogger extends Logger with Cloneable{
// 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)
}
}
trait ConsoleLogger extends TraitLogger{
override def log(msg : String){
println("Log from Console :" +msg)
}
}
其实学习Scala相关知识就是为了以后能往大数据方面发展,现在虽然工作是后台开发,也要什么懂一点。也相信周边效益,这样发展就多维度的。每天进步一点,坚持!
视频分享地址:http://pan.baidu.com/s/1c0hjFpA
大数据系列修炼-Scala课程04的更多相关文章
- 大数据系列修炼-Scala课程01
简介 由于本人刚毕业,也是从事软件开发相关的工作.想再学习一下关于大数据.移动互联网.云计算相关的技术.为我的未来打好基础.并且从零开始学习大数据相关的知识,脚踏实地的走好每一步,听行业前辈说毕业生刚 ...
- 大数据系列修炼-Scala课程03
前言 今天上班看了很多关于前端js,jQuery.bootstrap.js以及springMVC看得迷迷糊糊的,毕竟以前很少去学习前端的技术,所有看得有点困,还好看得比较多,回家后也开始学习关于Sca ...
- 大数据系列修炼-Scala课程07
由于昨天下班后有点困,就没有来及写博客,今天会把它补上!把这个习惯坚持下去! 关于Scala高阶函数详解 1.Scala高阶函数代码实现:高阶函数就是在我们函数中套用函数 2.高阶函数代码详解:高阶函 ...
- 大数据系列修炼-Scala课程06
关于Scala中的正则表达式与模式匹配结合的正则表达式Reg 正则表达式的实现:正则表达式的定义与其它语言差不多,只需在表达式后加一个.r,并且可以遍历相应的表达式进行匹配 //定义的正则表达式 va ...
- 大数据系列修炼-Scala课程08
接下来会讲解关于各种模式匹配,从中就会知道模式匹配的重要性 关于Type.Array.List.Tuple模式解析 1.Type模式匹配代码解析 //关于Type类型的模式匹配 //匹配 Int类型. ...
- 大数据系列修炼-Scala课程02
Scala数组操作实战详解 接着昨天的课程,下面我们继续学习关于Scala数组操作详解.Scala数组的定义 //数组定义 //定长数组格式 /** * val arrayName = new Arr ...
- 大数据系列修炼-Scala课程11
接着昨天的list,也是学习集合的相关知识 ListBuffer.ArrayBuffer.Queue.stack相关操作 1.ListBuffer.ArrayBuffer代码实现:ListBuffer ...
- 大数据系列修炼-Scala课程10
今天主要是关于Scala中对List的相关操作,list在Scala中应该是至关重要,接下来会讲解关于List的一系列操作 List的map.flatMap.foreach.filter操作讲解 1. ...
- 大数据系列修炼-Scala课程05
Scala多重继承.构造器的执行顺序.AOP实现 多重继承的trait实现:Scala中接口可以继承具体的类,trait接口可以实现多重继承,并且某个类也可以继承特定的类,在继承后面可以混入,接口的实 ...
随机推荐
- leetcode第一刷_Merge Sorted Array
水题,只是思想还是实用的. 当然能够新建出一个数组.比較着拷贝过去.可是没有必要啊亲.想想为什么用源数组会麻烦,由于确定了前面的数.为了后面的数字不被覆盖,要依次往后移,转念一想,先确定后面的数字.就 ...
- mysql 多个字段拼接
Mysql的查询结果行字段拼接,能够用以下两个函数实现: 1. concat函数 mysql> select concat('1','2','3') from test ; +--------- ...
- 开源Math.NET基础数学类库使用(10)C#进行基本数据统计
原文:[原创]开源Math.NET基础数学类库使用(10)C#进行基本数据统计 本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p ...
- ASP.NET自定义控件组件开发 第一章 第二篇 接着待续
原文:ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 很感谢大家给我的第一篇ASP.NET控件开发的支持!在写这些之前,我也看了 ...
- 黑马程序猿——java基金会--jdk、变量
学习内容: 1.Java发展历史 2.jdk和jre的差别,功能. 3.jdk和jre的下载和安装 4.配置环境.path和classpath 5.helloworld程序 6.进制之间的转换 7.凝 ...
- C奇淫技巧,——宏神奇
一个.宏列表 当这个问题面临: 有一个标志变量.位代表对应的含义. 我们须要提供一组函数来訪问设置这些位.可是对于每一个标记位的操作函数都是相似的.若有32个位,难道要搞32套相似的操作函数么? 你或 ...
- 集成ejs和angular
我们也有一个系统angular用在应用中单页.正确angular做一些定制.集成seajs.不实用angular自己的模块管理. 只要angular也可单独使用在,一个较小的系统新开发,我不会用前js ...
- [2011山东ACM省赛] Identifiers(模拟)
Identifiers Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 Identifier is an important ...
- hdu 3911 Black And White(线段树)
题目连接:hdu 3911 Black And White 题目大意:给定一个序列,然后有M次操作: 0 l r:表示询问l,r中最大连续1的个数 1 l r:表示将l,r区间上的数取反 解题思路:线 ...
- HTTP 长连接 使用场景
offer 80 非常多应用譬如监控.即时通信.即时报价系统都须要将后台发生的变化实时传送到client而无须client不停地刷新.发送请求. 在 多好科技的那位技术指导问我这个是由于他们做物连网, ...