Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7df1257

Browse files
☁️ opts Java patterns bulid
1 parent b30e544 commit 7df1257

File tree

5 files changed

+72
-4
lines changed

5 files changed

+72
-4
lines changed

‎src/cn/ucaner/pattern/create/builder/BuilderTest.java‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,23 @@
2424
public class BuilderTest {
2525

2626
public static void main(String[] args) {
27+
2728
WolverineDirector director = new WolverineDirector();
2829
XMan wolverine = director.constructWolverine(new WolverineBuilder());
2930
String lover = wolverine.getLover();
3031
String getxFactor = wolverine.getxFactor();
31-
System.out.println("Lover:"+lover+" xFactor:"+getxFactor);
32+
Integer age = wolverine.getAge();
33+
String name = wolverine.getName();
34+
System.out.println("Lover:"+lover+" xFactor:"+getxFactor+" Name:"+name+" Age:"+age);
35+
//System.gc();
36+
System.out.println(wolverine.toString());
3237
}
3338
}
39+
//Outputs
40+
//claw
41+
//Jane
42+
//Name is successfully built
43+
//Age is successfully built
44+
//Wolverine is successfully built
45+
//Lover:Jane xFactor:claw Name:Wali Age:18
46+
//cn.ucaner.pattern.create.builder.XMan@7852e922

‎src/cn/ucaner/pattern/create/builder/WolverineBuilder.java‎

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,48 @@ public class WolverineBuilder implements XManBuilder {
2828
WolverineBuilder() {
2929
mXMan = new XMan();
3030
}
31+
32+
// need to consider
3133

34+
/* @Override
3235
public WolverineBuilder buildXFactor() {
3336
mXMan.setxFactor("claw");
3437
System.out.println(mXMan.getxFactor());
3538
return this;
36-
}
39+
}*/
40+
41+
@Override
42+
public XManBuilder buildXFactor() {
43+
mXMan.setxFactor("claw");
44+
System.out.println(mXMan.getxFactor());
45+
return this;
46+
}
3747

48+
@Override
3849
public WolverineBuilder buildLover() {
3950
mXMan.setLover("Jane");
4051
System.out.println(mXMan.getLover());
4152
return this;
4253
}
4354

44-
public XMan buildXman() {
55+
@Override
56+
public WolverineBuilder buildName() {
57+
mXMan.setName("Wali");
58+
System.out.println(mXMan.getName());
59+
return this;
60+
}
61+
62+
@Override
63+
public WolverineBuilder buildAge() {
64+
mXMan.setAge(18);
65+
System.out.println(mXMan.getAge());
66+
return this;
67+
}
68+
69+
@Override
70+
public XMan buildXman() {
4571
System.out.println("Wolverine is successfully built");
4672
return mXMan;
4773
}
74+
4875
}

‎src/cn/ucaner/pattern/create/builder/WolverineDirector.java‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ public XMan constructWolverine(WolverineBuilder wolverineBuilder) {
2727
return wolverineBuilder
2828
.buildXFactor()
2929
.buildLover()
30+
.buildName()
31+
.buildAge()
3032
.buildXman();
3133
}
3234
}

‎src/cn/ucaner/pattern/create/builder/XMan.java‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,33 @@
2323
*/
2424
public class XMan {
2525

26+
private String name;
27+
28+
private Integer age;
29+
2630
private String xFactor;
2731

2832
private String lover;
2933

30-
public String getxFactor() {
34+
public String getName() {
35+
return name;
36+
}
37+
38+
public XMan setName(String name) {
39+
this.name = name;
40+
return this;
41+
}
42+
43+
public Integer getAge() {
44+
return age;
45+
}
46+
47+
public XMan setAge(Integer age) {
48+
this.age = age;
49+
return this;
50+
}
51+
52+
public String getxFactor() {
3153
return xFactor;
3254
}
3355

‎src/cn/ucaner/pattern/create/builder/XManBuilder.java‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,9 @@ public interface XManBuilder {
2727

2828
XManBuilder buildLover();
2929

30+
XManBuilder buildName();
31+
32+
XManBuilder buildAge();
33+
3034
XMan buildXman();
3135
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /