首页 > 代码库 > scala 用trait还是用abstract class
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 ...")
}
}
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。