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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<code>public</code> <code>class</code> <code>factory2 {</code>
<code> </code><code>/**</code>
<code> </code><code>* @param args 工廠模式</code>
<code> </code><code>*/</code>
<code> </code><code>public</code>
<code>static</code> <code>void</code> <code>main(string[] args) {</code>
<code> </code><code>// todo auto-generated method stub</code>
<code> </code><code>//工廠模式</code>
<code> </code><code>ifactory ifactory =</code><code>new</code>
<code>people1factory();</code>
<code> </code><code>leifeng student=ifactory.creatleifeng();</code>
<code> </code><code>student.wash();</code>
<code> </code><code>student.buy();</code>
<code> </code>
<code> </code><code>system.out.println(</code><code>"***************"</code><code>);</code>
<code> </code><code>//簡單工廠模式</code>
<code> </code><code>leifeng student1=simplyfactory.creleifeng(</code><code>"people1"</code><code>);</code>
<code> </code><code>student1.wash();</code>
<code> </code><code>student1.buy();</code>
<code> </code><code>}</code>
<code>}</code>
<code>//******************************************************************************</code>
<code>class</code>
<code>leifeng{</code><code>//雷鋒類</code>
<code> </code>
<code>void</code> <code>wash() {</code>
<code> </code><code>system.out.println(</code><code>"洗"</code><code>);</code>
<code>void</code> <code>buy() {</code>
<code> </code><code>system.out.println(</code><code>"買"</code><code>);</code>
<code>people1</code><code>extends</code>
<code>leifeng{</code>
<code> </code><code>system.out.println(</code><code>"洗1"</code><code>);</code>
<code>}</code><code>//人員1</code>
<code>people2</code><code>extends</code>
<code> </code><code>system.out.println(</code><code>"洗2"</code><code>);</code>
<code>}</code><code>//人員2</code>
<code>//工廠模式</code>
<code>interface</code>
<code>ifactory{</code><code>//接口工廠</code>
<code> </code><code>leifeng creatleifeng();</code>
<code>//1工廠實作了工廠接口,生産人員1</code>
<code>people1factory</code><code>implements</code>
<code>ifactory{</code>
<code> </code><code>@override</code>
<code>leifeng creatleifeng() {</code>
<code> </code><code>return</code>
<code>new</code> <code>people1();</code>
<code>//2工廠實作了工廠接口,生産人員2</code>
<code>people2factory</code><code>implements</code>
<code>new</code> <code>people2();</code>
<code>//***********************************************************************************</code>
<code>//簡單工廠模式</code>
<code>simplyfactory{</code>
<code>static</code> <code>leifeng creleifeng(string type) {</code>
<code> </code><code>leifeng resuleifeng=</code><code>null</code><code>;</code>
<code> </code><code>switch</code>
<code>(type) {</code>
<code> </code><code>case</code>
<code>"people1"</code><code>:</code>
<code> </code><code>resuleifeng=</code><code>new</code>
<code>people1();</code>
<code> </code><code>break</code><code>;</code>
<code>"people2"</code><code>:</code>
<code>people2();</code>
<code> </code><code>}</code>
<code>resuleifeng;</code>