跟我一起学“仓颉”设计模式-桥接模式练习题
2026/6/9 5:11:56 网站建设 项目流程

一、练习题

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 }

二、小结

本章为大家详细的介绍了仓颉设计模式中桥接模式练习题的内容,下一章,为大家带来组合模式的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询