DT大数据梦工厂 温故而知新 之14讲
来源:互联网 发布:拳皇2002um大半圆优化 编辑:程序博客网 时间:2024/05/16 00:27
百度云:http://pan.baidu.com/s/1jGjFpWy
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2
DT大数据梦工厂 温故而知新 之14讲scala 中的特质的使用
package TestPractice
/**
* @author Administrator
*/
object TraitDemo {
def main(args: Array[String]): Unit = {
var animal: Animal = new Dog1
println(animal.name + "\t" + animal.age + "\t" + animal.weight)
animal.sleep
animal.run
println("*****************************************")
animal = new Cat1
println(animal.name + "\t" + animal.age + "\t" + animal.weight)
animal.sleep
animal.run
}
}
//定义一个trait,代表一种特质,可以将它理解为java8中的接口
//特质是抽象的概念是不能直接创建实例的
trait Animal {
//特质中定义了两个抽象的成员字段
val name: String
//特质中定义了一个具体的成员字段
val weight = 18
var age: Int
//特质中可以有具体方法
def sleep(): Unit = {
println("animal runing... !")
}
//特质中也可以有抽象的方法
def run
}
//一个类去继承一个特质,就用有了这个特质的方法和字段
class Dog1 extends Animal {
//特质中的抽象变量必须被重写,不然类要变成抽象类,override可以省略
override val name: String = "wangcai"
override var age: Int = 3
//特质中的抽象方法要被重写,不然类要变成抽象类,override可以省略
override def run: Unit = {
println("dog runing...")
}
}
//一个类必须先extends一个类后,才能with一个特质
class Cat1 extends Object with Animal {
//特质中的抽象变量必须被重写,不然类要变成抽象类,override可以省略
override val name: String = "ketty"
override var age: Int = 5
//特质中的抽象方法要被重写,不然类要变成抽象类,override可以省略
override def run: Unit = {
println("cat running ......")
}
}
总结: trait类似于java8中的接口 ,特质是抽象的概念是不能直接创建实例的,具有抽象思想的属性和方法,一个类去继承一个特质,就用有了这个特质的方法和字段 一个类必须先extends一个类后,才能with一个特质
- DT大数据梦工厂 温故而知新 之14讲
- DT大数据梦工厂 温故而知新 之12讲
- DT大数据梦工厂 温故而知新 之11讲
- DT大数据梦工厂 温故而知新 之1~4讲
- DT大数据梦工厂 温故而知新 之13讲
- DT大数据梦工厂 温故而知新 之15讲
- DT大数据梦工厂 温故而知新 之16讲
- DT大数据梦工厂 温故而知新 之17讲
- DT大数据梦工厂 温故而知新 之18讲
- DT大数据梦工厂 温故而知新 之19讲
- DT大数据梦工厂 温故而知新 之20讲
- DT大数据梦工厂 温故而知新 之21讲
- DT大数据梦工厂 温故而知新 之22讲
- DT大数据梦工厂 温故而知新 之23讲
- DT大数据梦工厂 温故而知新 之24讲
- DT大数据梦工厂 温故而知新 之25讲
- DT大数据梦工厂 温故而知新 之26讲
- DT大数据梦工厂
- 动态地生成用户输入的函数表达式(C#)
- 使用C#2.0进行文件压缩和解压
- C#中的字符编码问题
- DT大数据梦工厂 温故而知新 之13讲
- Java RandomAccessFile文件操作详解
- DT大数据梦工厂 温故而知新 之14讲
- zTree初体验(三)——异步加载
- OpenVas 8 on Ubuntu Server 14.04
- 【LeetCode-面试算法经典-Java实现】【057-Insert Interval(插入区间)】
- 【LeetCode-面试算法经典-Java实现】【058-Length of Last Word (最后一个单词的长度)】
- 【LeetCode-面试算法经典-Java实现】【059-Spiral Matrix II(螺旋矩阵II)】
- 3.2 cocos2d-x渲染
- java的if语句用法总结及总结
- 老实当条听话Dog到底能不能在公司生存?——北漂18年(19)