1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| @Getter public class OrangeCat extends Cat { private String name; private String head; private String body; private String foot;
public OrangeCat(String name) { this(name, "head"); }
public OrangeCat(String name, String head) { this(name, head, "body"); }
public OrangeCat(String name, String head, String body) { this(name, head, body, "foot"); }
public OrangeCat(String name, String head, String body, String foot) { this.name = name; this.head = head; this.body = body; this.foot = foot; } }
public class CatBuilder { private String name; private String head = “head”; private String body = “body”; private String foot = “foot”;
public OrangeCat build() { return new OrangeCat(name, head, body, foot); }
public CatBuilder create(String name) { this.name = name; return this; }
public CatBuilder head(String head) { this.head = head; return this; }
public CatBuilder body(String body) { this.body = body; return this; }
public CatBuilder foot(String foot) { this.foot = foot; return this; } }
|