根据代码功能,补充如下代码 trait Operate3 { //特质 def insert(id: Int): Unit = { println("插入数据 = " + id) } } class OracleDB { //空 } abstract class MySQL3_ { def say() } object MixInDemo01 { def main(args: Array[String]): Unit = { val oracleDB = new OracleDB oracleDB.insert(100) // val mySql_ = new MySQL3_ mySql_.insert(999) mySql_.say() } }
时间: 2024-03-04 07:54:01 浏览: 229
php 5.4 全新的代码复用Trait详解
根据代码功能,需要进行如下补充:
1. 在 OracleDB 类中,需要混入 Operate3 特质,以便该类能够调用 insert 方法。
2. MySQL3_ 类是一个抽象类,需要在其子类中完成 insert 方法的具体实现。
下面是补充后的代码:
trait Operate3 { //特质
def insert(id: Int): Unit = {
println("插入数据 = " + id)
}
}
class OracleDB extends Operate3 { //混入 Operate3 特质
//空
}
abstract class MySQL3_ {
def insert(id: Int): Unit //在子类中具体实现
def say(): Unit
}
class MySQLImpl extends MySQL3_ {
override def insert(id: Int): Unit = {
println("MySQL插入数据 = " + id)
}
override def say(): Unit = {
println("MySQL实现的say方法")
}
}
object MixInDemo01 {
def main(args: Array[String]): Unit = {
val oracleDB = new OracleDB
oracleDB.insert(100)
val mySql_ = new MySQLImpl
mySql_.insert(999)
mySql_.say()
}
}
在 main 方法中,首先创建了 OracleDB 的实例对象 oracleDB,然后调用了其 insert 方法,输出了插入数据的信息。
接着创建了 MySQLImpl 的实例对象 mySql_,调用了其 insert 和 say 方法,输出了 MySQL 插入数据和 MySQL 实现的 say 方法的信息。
阅读全文