Kotlin设计模式.Java的建造者模式在Kotlin的实现
建造者模式
Java
public class Pen {
private Builder builder;
public Pen(Builder builder) {
this.builder = builder;
}
public void write(){
System.out.println("color: "+builder.color+", width: "+builder.width+", round: "+builder.round);
}
public static class Builder {
private String color = "white";
private Float width = 1.0f;
private Boolean round = false;
public Builder color(String color) {
this.color = color:
return this;
}
public Builder width(Float width) {
this.width = width ;
return this;
}
public Builder round(Boolean round) {
this.round = round ;
return this;
}
public Pen build(){
return new Pen();
}
}
}
使用
fun main() {
val pen = Pen.Builder().color("yellow").width(3f).round(true).build()
pen.write( )
}
kotlin
class Pen {
var color: String = "white"
var width: Float = 1.0f
var round: Boolean = false
fun write(){
printIn("color:${color}, width:${width}, round:${round}")
}
}
使用
fun main(){
val pen = Pen()
//通过with来实现
with(pen, {
color ="red"
width = 2f
round = t rue
})
pen.write()
pen.apply {
color = "gray"
width = 6f
round = false
write()
}
}