Created
January 13, 2017 07:12
-
-
Save wisnukurniawan/8f4315ca40f2ffe052d45f6c6bff7881 to your computer and use it in GitHub Desktop.
Builder Pattern Tutorial
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Created by wisnu on 13/01/2017. | |
*/ | |
public class Rumah { | |
private String kamarMandi; | |
private String ruangTamu; | |
private String tempatTidur; | |
//optional parameter | |
private String garasi; | |
private String kolamRenang; | |
public Rumah(RumahBuilder rumahBuilder) { | |
this.kamarMandi = rumahBuilder.kamarMandi; | |
this.ruangTamu = rumahBuilder.ruangTamu; | |
this.tempatTidur = rumahBuilder.tempatTidur; | |
this.garasi = rumahBuilder.garasi; | |
this.kolamRenang = rumahBuilder.kolamRenang; | |
} | |
public String getKamarMandi() { | |
return kamarMandi; | |
} | |
public String getRuangTamu() { | |
return ruangTamu; | |
} | |
public String getTempatTidur() { | |
return tempatTidur; | |
} | |
public String getGarasi() { | |
return garasi; | |
} | |
public String getKolamRenang() { | |
return kolamRenang; | |
} | |
public static class RumahBuilder { | |
private String kamarMandi; | |
private String ruangTamu; | |
private String tempatTidur; | |
//optional parameter | |
private String garasi; | |
private String kolamRenang; | |
public RumahBuilder(String kamarMandi, String ruangTamu, String tempatTidur) { | |
this.kamarMandi = kamarMandi; | |
this.ruangTamu = ruangTamu; | |
this.tempatTidur = tempatTidur; | |
} | |
public RumahBuilder setGarasi(String garasi) { | |
this.garasi = garasi; | |
return this; | |
} | |
public RumahBuilder setKolamRenang(String kolamRenang) { | |
this.kolamRenang = kolamRenang; | |
return this; | |
} | |
public Rumah build(){ | |
return new Rumah(this); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment