跟我一起学“仓颉”设计模式-桥接模式练习题
本章为大家详细的介绍了仓颉设计模式中桥接模式练习题的内容。
·
目录
一、练习题
1. 设计一款数据转换工具,可以将数据库中的数据转换成多种文件格式,比如:txt、xml等,同时该工具也支持多种数据库,比如:MySQL、GuessDB等。
类图

核心代码
package DesignPattern.birdge
// 实现类接口
public interface Type {
func getType(): Unit
}
// 具体实现类
public class XML <: Type {
public func getType() {
print("XML")
}
}
public class TXT <: Type {
public func getType() {
print("TXT")
}
}
// 抽象类
public abstract class DB {
var optType: Option<Type> = Option<Type>.None
public func setType(_type: Type) {
this.optType = _type
}
public func export(): Unit
}
// 扩充抽象类
public class MySQL <: DB {
public override func export() {
match (this.optType) {
case Some(_type) =>
print("MySQL数据库支持")
_type.getType()
println("类型文件导出")
case None => println("导出异常")
}
}
}
public class GuessDB <: DB {
public override func export() {
match (this.optType) {
case Some(_type) =>
print("GuessDB数据库支持")
_type.getType()
println("类型文件导出")
case None => println("导出异常")
}
}
}
测试代码
package DesignPattern
import DesignPattern.birdge.*
main(): Int64 {
var db: DB = MySQL()
db.setType(XML())
db.export()
db = GuessDB()
db.setType(TXT())
db.export()
return 0
}
二、小结
本章为大家详细的介绍了仓颉设计模式中桥接模式练习题的内容,下一章,为大家带来组合模式的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!
更多推荐



所有评论(0)