黑马程序员--面向对象思想:两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子

 

 1 /*********************************************************
2 面向对象思想:“谁拥有数据,谁就对外提供操作这些数据的方法”。
3 两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子。
4 stone, stoneknife, tree, wood, chair. StoneKnifeFactory,ChairFactory.
5 *********************************************************/
6
7 class Stone
8 {
9 Stone()
10 {
11
12 }
13 }
14
15 class StoneKnife
16 {
17 StoneKnife()
18 {
19
20 }
21
22 public Wood cutTree(Tree tree)
23 {
24 return tree.toWood();
25 }
26 }
27
28 class Tree
29 {
30 Tree()
31 {
32
33 }
34
35 public Wood toWood()
36 {
37 return new Wood();
38 }
39 }
40
41 class Wood
42 {
43 Wood()
44 {
45
46 }
47 }
48
49 class Chair
50 {
51 Chair()
52 {
53
54 }
55 }
56
57 class StoneKnifeFactory
58 {
59 public static StoneKnife createStoneKnife(Stone firstStone,Stone secondStone)
60 {
61 return new StoneKnife();
62 }
63 }
64
65 class ChairFactory
66 {
67 public static Chair createChair(Wood wood)
68 {
69 return new Chair();
70 }
71 }
72
73 //主函数
74 class Program
75 {
76 public static void main(String[] args)
77 {
78 StoneKnife sk=StoneKnifeFactory.createStoneKnife(new Stone(),new Stone());
79 Wood wood=sk.cutTree(new Tree());
80 ChairFactory.createChair(wood);
81 }
82 }

  

posted on 2012-03-06 13:40  黑马程序员  阅读(515)  评论(0编辑  收藏  举报

导航