跟我一起学“仓颉”设计模式-建造者模式练习题
本章为大家详细的介绍了仓颉设计模式中建造者模式练习题的内容。
·
目录
一、练习题
1. 使用仓颉编程语言,模拟实现《燕云十六声》的捏脸。
类图

核心代码
package DesignPattern.builder
// 产品
public class Actor {
Actor(private var face: String, private var eyes: String, private var nose: String) {}
}
// 抽象建造者
public abstract class ActorBuilder {
protected let actor = Actor("", "", "")
protected func builderFace(): Unit
protected func builderEyes(): Unit
protected func builderNose(): Unit
protected func getActor(): Actor {
return actor
}
}
// 具体建造者
public class AngleActorBuilder <: ActorBuilder {
protected func builderFace() {
println("女神: 小脸")
}
protected func builderEyes() {
println("女神: 大眼睛")
}
protected func builderNose() {
println("女神: 高鼻梁")
}
}
public class ManActorBuilder <: ActorBuilder {
protected func builderFace() {
println("男人: 中脸")
}
protected func builderEyes() {
println("男人: 中眼睛")
}
protected func builderNose() {
println("男人: 中高鼻梁")
}
}
// 指挥者
public class ActorDirector {
public ActorDirector(private let actorBulider: ActorBuilder) {}
public func construct(): Actor {
actorBulider.builderFace()
actorBulider.builderEyes()
actorBulider.builderNose()
return actorBulider.getActor()
}
}
测试代码
package DesignPattern
import DesignPattern.builder.*
main(): Int64 {
ActorDirector(AngleActorBuilder()).construct()
println()
ActorDirector(ManActorBuilder()).construct()
return 0
}
二、小结
本章为大家详细的介绍了仓颉设计模式中建造者模式练习题的内容,下一章,为大家带来单例模式练习题的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉设计模式有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!
更多推荐
所有评论(0)