天天看點

簡單工廠和工廠模式的合并對比代碼

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>