8、scala面向对象编程之Trait】的更多相关文章

一.Trait基础 1.将trait作为接口使用 // Scala中的Triat是一种特殊的概念 // 首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似 // 在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可 // 类可以使用extends关键字继承trait,注意,这里不是implement,而是extends,在scala中没有implement的概念,无论继承类还是trait,统一都是extends // 类继承t…
1.  将trait作为接口使用 2.trait中定义具体方法 3.trait定义具体字段 4.trait中定义抽象字段 5.为实例对象混入trait 6.trait调用链 7.在trait中覆盖抽象方法 8.混合使用trait的具体方法和抽象方法 9.trait的构造机制 10.trait field的初始化 11.trait继承class 1.  将trait作为接口使用 在scala中,trait是一种特殊的概念,可以将trait作为接口来使用. Trait可以定义抽象方法,与抽象类中的抽…
将trait作为接口使用 // Scala中的Triat是一种特殊的概念 // 首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似 // 在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可 // 类可以使用extends关键字继承trait,注意,这里不是implement,而是extends,在scala中没有implement的概念,无论继承类还是trait,统一都是extends // 类继承trait后,必须实现其中…
trait调用链 Scala中支持让类继承多个Trait后,依次调用多个Trait中的同一个方法,只要让多个trait的同一个方法中,在最后都执行super.方法即可 类中调用多个trait中都有这个方法时,首先会从最右边的trait的方法开始执行,然后依次往左执行,形成一个调用链条 这种特性非常强大,其实就相当于设计模式中的责任链模式的一种具体实现依赖 trait Handle{ def handle(data:String){} } trait DataValidHandler extend…
将trait作为接口使用 1 // Scala中的Triat是一种特殊的概念 2 // 首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似 3 // 在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可 4 // 类可以使用extends关键字继承trait,注意,这里不是implement,而是extends,在scala中没有implement的概念,无论继承类还是trait,统一都是extends 5 // 类继承tra…
Scala中Trait是一种特殊概念 首先我们可以将Triat做为接口来使用,此时的Triat就与java中的接口非常相似 在Triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出具体的实现即可 类可以使用extend是关键字来继承Triat,注意这里不是Implement,而是extends,在Scala中没有Implement的概念,无论是继承还是Triat都是extends 类继承Triat后,必须实现其中的抽象方法,实现是不需要override关键字 Scala不支持对类进…
1.  Object 2.伴生对象 3.让object继承抽象类 4.apply方法 5.main方法 6.用object实现枚举功能 1.  Object Object,相当于class的单个实例,通常在里面放一些静态field或者method. 第一次调用object方法时,会执行object的constructor,也就是object内不在method中的代码,但是object不能定义接受参数的constructor. Object的constructor只会在其第一次被调用时执行一次,以…
此对象非彼java bean对象 是scala object的对象 Object // object,相当于class的单个实例,通常在里面放一些静态的field或者method // 第一次调用object的方法时,就会执行object的constructor,也就是object内部不在method中的代码:但是object不能定义接受参数的constructor // 注意,object的constructor只会在其第一次被调用时执行一次,以后再次调用就不会再次执行constructor了…
1.  extends 2.override 和super 3.override field 4.isInstanceOf和asInstanceOf 5.getClass和classOf 6.使用模式匹配进行类型判断 7.protected 8.调用父类的construct 9.匿名内部类 10.抽象类 11.抽象field 1.  extends scala中,让子类继承父类,与java一样,也使用extends关键字. 子类可以从父类继承父类的field和method,然后子类可以在自己内部…
extends关键字 // Scala中,让子类继承父类,与Java一样,也是使用extends关键字 // 继承就代表,子类可以从父类继承父类的field和method:然后子类可以在自己内部放入父类所没有,子类特有的field和method:使用继承可以有效复用代码 // 子类可以覆盖父类的field和method:但是如果父类用final修饰,field和method用final修饰,则该类是无法被继承的,field和method是无法被覆盖的 class Person { private…