大数据全系列 教程
1869个小节阅读:465.4k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
5.4.3 作用解耦合
使用特质/特征有什么好处呢?
xxxxxxxxxx
package com.itbaizhan.chapter05
//作用:实现解耦合
object TraitDemo2 {
//定义一个实体类->对应数据库的表
class ProductVo{}
//耦合性太强了,回想java中Dao设计模式
/*class ProductDao{
def insert(pv:ProductVo): Int ={
println("insertProduct")
1
}
}*/
trait ProductDao{
def insert(pv:ProductVo):Int
def update(pv:ProductVo):Boolean
}
class ProductDaoImpl extends ProductDao{
override def insert(pv: ProductVo): Int = {
println("insertProduct...")
1
}
override def update(pv: ProductVo): Boolean = {
println("updateProduct...")
true
}
}
def main(args: Array[String]): Unit = {
//val proDao:ProductDao = new ProductDao()
//将来也可通过类似spring注入的方式实例化,实现解耦合
val proDao:ProductDao = new ProductDaoImpl()
}
}