码迷,mamicode.com
首页 > 其他好文 > 详细

scala 用trait还是用abstract class

时间:2015-01-26 17:22:10      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:scala   trait   abstract class   

package com.scala.idle


object TraitOrAbstractClass {


  def main(args: Array[String]): Unit = {
    
  }


}
/**
 * 继承两个trait,N多方便啊!
 */
class TestClass000 extends Trait000 with Trait001{
  
}
/**
 * 继承两个abstract class,Error了。Error信息如下:
 * Multiple markers at this line
- class AbstractClass001 needs to be a trait to be 
mixed in
- class AbstractClass001 needs to be a trait to be 
mixed in
 */
class TestClass001 extends AbstractClass000 with AbstractClass001{
  
}
/**
 * 构造带参数的构造函数,trait,你可以吗?报错信息如下:
 * traits or objects may not have parameters
 * 但是abstract class是Ok的
 */
trait Trait003(i : Int){
  
}
/**
 * 构造带参数的构造函数,abstract class 是Ok的
 */
abstract class AbstractClass003(i : Int){
  
}
trait Trait000{
  def showTrait000 = {
    println("showTrait000 ...")
  }
}
trait Trait001{
  def showTrait001 = {
    println("showTrait001 ...")
  }
}
abstract class AbstractClass000{
  def showAbstractClass000 = {
    println("showAbstractClass000 ...")
  }
}
abstract class AbstractClass001{
  def showAbstractClass001 = {
    println("showAbstractClass001 ...")
  }
}

scala 用trait还是用abstract class

标签:scala   trait   abstract class   

原文地址:http://blog.csdn.net/hi_1234567/article/details/43152769

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!