scala构造器实战
父类
abstract class Event(val name:String) {
var time:Long
var content:String
}
子类
private[spark] class BaseEvent(name: String) extends Event(name) {
var id: String = _
override var time: Long = _
override var content: String = _
//从构造器
def this(id:String,name:String,time:Long,content:String){
this(name)//主构造器
this.id = id
this.time = time
this.content = content
}
//重写toString
override def toString():String ={
id+","+name+","+time+","+content
}
}
再子类
private[spark] class AlarmEvent(name: String) extends BaseEvent(name) {
var event_type: String = _
var event_level: String = _
var event_src_ip: String = _
var event_src_port: String = _
var event_tar_ip: String = _
var event_tar_port: String = _
var event_src_server_name: String = _
var event_tar_server_name: String = _
var event_group_count: Long = _
var event_group_start_time: String = _
var event_group_end_time: String = _
var event_server_name: String = _
def this(id: String, name: String, time: Long, content: String) {
this(name)
this.id = id
this.time = time
this.content = content
}
//构造器的继承与重载
def this(id: String,
name: String,
time: Long,
content: String,
event_type: String,
event_level: String,
event_src_ip: String,
event_src_port: String,
event_tar_ip: String,
event_tar_port: String,
event_src_server_name: String,
event_tar_server_name: String
) {
this(name, id, time, content)
this.event_type = event_type
this.event_level = event_level
this.event_src_ip = event_src_ip
this.event_src_port = event_src_port
this.event_src_server_name = event_src_server_name
this.event_tar_ip = event_tar_ip
this.event_tar_port = event_tar_port
this.event_tar_server_name = event_tar_server_name
}
//重载
def this(id: String,
name: String,
time: Long,
content: String,
event_type: String,
event_level: String,
event_src_ip: String,
event_src_port: String,
event_tar_ip: String,
event_tar_port: String,
event_src_server_name: String,
event_tar_server_name: String,
event_group_count: Long,
event_group_start_time: String,
event_group_end_time: String,
event_server_name: String
) {
this(name, id, time, content, event_type, event_level,event_src_ip,event_src_port,event_tar_ip,event_tar_port,event_src_server_name,event_tar_server_name)
this.event_group_count=event_group_count
this.event_group_start_time=event_group_start_time
this.event_group_end_time=event_group_end_time
this.event_server_name=event_server_name
}
//toString的继承重载
override def toString():String= {
super.toString() +","+ event_type + "," + event_level + "," + event_src_ip + "," + event_src_port +","+ event_src_server_name + "," + event_tar_ip + "," + event_tar_port + "," + event_tar_server_name
}
}
执行结果:
2,1,0,3,4,5,6,7,9,80,8,00
scala语言的父类继承和重载,toString的继承重载,靠super
子类中的构造器不能够super,报错
scala构造器实战的更多相关文章
- Scala 深入浅出实战经典 第81讲:Scala中List的构造是的类型约束逆变、协变、下界详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-97讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第79讲:单例深入讲解及单例背后的链式表达式
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第78讲:Type与Class实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第77讲:模式匹配下的提取器动手构造实战
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第76讲:模式匹配下的赋值语句
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第75讲:模式匹配下的For循环
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- Scala 深入浅出实战经典 第67讲:Scala并发编程匿名Actor、消息传递、偏函数解析
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Scala 深入浅出实战经典 第66讲:Scala并发编程实战初体验
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
随机推荐
- Ant not found - Make sure it's in the path or use --with-ant-home
# pacman -S apache-ant 参考:http://blog.csdn.net/linshutao/article/details/6638116
- T4 assembly
In a T4 template the executing assembly is not yours but one from the T4 engine. To access types fro ...
- HDU 4738 Caocao's Bridges
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Ubuntu 12.04 gedit编辑器 中文乱码
百度一下查看了很多关于这个问题的解决方法,无非是用通过配置编辑器修改键值来解决.但是由于我的ubuntu是12.04版本的,搜索到的很多方法都不能用,网上一般的解决办法如下: 打开“注册表”(从字面理 ...
- NopCommerce 3.80框架研究(一) 数据访问与持久化
NopCommerce 是一个国外的开源电商系统.3.80版本使用EF6.0 和.Net Framework 4.5.1 并引入了Autofac , Autofac是一款IOC框架,比较于其他的IOC ...
- 恶心的Oracle的if else if...
出处:http://blog.sina.com.cn/s/blog_407d47e60100d8ig.html 前段时间写Oracle存储过程就遇到问题.原来写成这样if 1=2 then null ...
- 解决在 MVC 局部视图中加载 ueditor 编辑器时, 编辑器加载不出的 bug
在 MVC 局部视图中,有时我们需要 加载 ueditor 编辑器,或进行局部刷新, 但是在加载局部视图后,ueditor 编辑器加载不出,这是由于 ueditor 使用的缓存,只要清空缓存,重新实例 ...
- 学习练习 java面向对象封装汽车
package com.hanqi; //汽车 public class Car { // 车牌 private String CheP; // 油箱容量 private double YouXRL ...
- C# 特性Attributes 和反射
一,Attributes 类新建一个子类,DetailAttributes 二, 在类的属性声明上面加Attributes public class testAttributes { [Detail( ...
- 【MySQL】mysql buffer pool结构分析
转自:http://blog.csdn.net/wyzxg/article/details/7700394 MySQL官网配置说明地址:http://dev.mysql.com/doc/refman/ ...