-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathBridge.php
More file actions
executable file
·254 lines (175 loc) · 5.27 KB
/
Bridge.php
File metadata and controls
executable file
·254 lines (175 loc) · 5.27 KB
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
<?php
/**
* 今天我要说说我自己,梦想中的我自己,我身价过亿,有两个大公司,一个是房地产公司,一个是服装制造
* 业,这两个公司都很赚钱,天天帮我在累加财富,其实是什么公司我倒是不关心,我关心的是是不是在赚钱,赚
* 了多少,这才是我关心的,我是商人呀,唯利是图是我的本性,偷税漏税是我的方法,欺上瞒下、压榨员工血汗
* 我是的手段嘛
*/
abstract class Crop {
/* 公司就应当有生产吧, 不管什么公司都会有生产,虽然产品不一样 */
protected abstract function produce();
/* 有了产品,就得销售啊,不销售公司怎么生存 */
protected abstract function sell();
public function makeMoney() {
$this->produce();
$this->sell();
}
}
/**
* 房地产公司,正确翻译是realty corp,为了适合中国翻译我将它翻译成House crop
*
*/
class HouseCrop extends Crop {
protected function produce() {
var_dump('房地产公司盖房子');
}
protected function sell() {
var_dump('发地产公司买房子');
}
/* 房地产公司很high,赚钱,计算利润 */
public function makeMoney() {
parent::makeMoney();
var_dump('房地产公司赚大钱‘...');
}
}
/**
* 服装公司,这个行当现在不怎么样
*
*/
class ClothesCrop extends Crop {
protected function produce() {
var_dump('服装公司生产衣服...');
}
protected function sell() {
var_dump('服装公司出售衣服');
}
public function makeMoney() {
parent::makeMoney();
var_dump('服装公司赚小钱...');
}
}
/* 测试 */
/* 先找到我的公司 */
$houseCrop = new HouseCrop();
$houseCrop->makeMoney();
$clothesCrop = new ClothesCrop();
$clothesCrop->makeMoney();
echo '*********************1***************************';
/* 为了公司挣大钱,公司开始改头换面 */
/**
* 我是山寨老大,你流行啥我就生产啥
* 现在流行iPod
*/
class IPodCrop extends Crop {
/* 开始生产iPod */
protected function produce() {
var_dump('我生产iPod...');
}
/* 山寨iPod很畅销 */
protected function sell(){
var_dump('iPod畅销');
}
/* 狂赚钱 */
public function makeMoney() {
parent::makeMoney();
var_dump('我赚钱呀...');
}
}
/* 我要关心我自己的公司 */
$hcrop = new HouseCrop();
$hcrop->makeMoney();
$iCrop = new IPodCrop();
$iCrop->makeMoney();
echo '*********************2***************************';
/**
* 这是我整个公司的产品类
*/
abstract class Product {
/* 甭管什么产品它总要被生产出来 */
public abstract function beProducted();
/* 生产出来的东西,一定要销售出去,否则扩本呀*/
public abstract function beSelled();
}
/**
* 这个是我集团公司盖的房子
*
*/
class House extends Product {
/* 豆腐渣就豆腐渣呗,好歹也是个房子啊 */
public function beProducted() {
var_dump('生产出房子是这样子的...');
}
/* 虽然是豆腐渣,也是能够销售出去的 */
public function beSelled() {
var_dump('生产出的房子卖出去了...');
}
}
/**
* 我的集团公司生产衣服
*
*/
class Clothes extends Product {
public function beProducted() {
var_dump('生产出衣服是这样子的啊...');
}
public function beSelled() {
var_dump('生产出的衣服卖出去了...');
}
}
class IPod extends Product {
public function beProducted() {
var_dump('生产出的iPod是这个样子的...');
}
public function beSelled() {
var_dump('生产出iPod卖出去了...');
}
}
/**
* 定义一个公司的抽象类
*/
abstract class Corp {
/* 定义一个产品对象,抽象的了,不知道具体是什么产品 */
private $product;
public function __construct($product) {
$this->product = $product;
}
public function makeMoney() {
$this->product->beProducted();
$this->product->beSelled();
}
}
/**
* 房地产公司
*/
class HouseCorp extends Corp {
public function __construct($product) {
parent::__construct($product);
}
public function makeMoney() {
parent::makeMoney();
var_dump('房地产公司赚大钱了啊!');
}
}
/**
* 我是山寨老大,你流行啥,我就生产啥
*/
class ShanZhaiCorp extends Corp {
public function __construct($product) {
parent::__construct($product);
}
public function makeMoney() {
parent::makeMoney();
var_dump('我赚钱呀');
}
}
/* 我要关心我自己的公司了啊 */
$house = new House();
$housecorp = new HouseCorp($house);
$housecorp->makeMoney();
/* 山寨公司的生产的产品挺多,不过我们只要指定产品就行 */
$shanzhaicorp = new ShanZhaiCorp(new Clothes());
$shanzhaicorp->makeMoney();
/* 上面的山寨公司生产衣服,现在我要声场Ipod */
$shanzhaicorp = new ShanZhaiCorp(new IPod());
$shanzhaicorp->makeMoney();
?>