标签:style http io 使用 ar sp div art on
有一哥们是搞山寨货的,什么流行就搞什么。自己有个厂子,前些时间服装挣钱,就生产衣服,如今搞手机挣钱,搞手机,这哥们非常聪明,就换了个产品,工人,厂房都不变。他是怎么做到的?用类图来模拟一下:

由类图能够看出这哥现有两家公司,一个搞房地产,一个搞山寨货(phone),房地产是长久渠道,山寨随时可能变更。
用PHP来实现:
<?php
abstract class Corp {
private $product;
public function __construct( Product $product ) {
$this->product = $product;
}
// protected abstract function produce();
// protected abstract function sell();
public function makeMoney() {
$this->product->beProducted();
$this->product->beSelled();
}
}
class HouseCorp extends Corp{
public function __construct( House $house ) {
parent::__construct( $house );
}
public function makeMoney() {
parent::makeMoney();
echo "房地产公司挣大钱了。。。\n";
}
}
class ShanZhaiCorp extends Corp{
public function makeMoney() {
parent::makeMoney();
echo "挣大钱了。。。\n";
}
}
abstract class Product {
public abstract function beProducted();
public abstract function beSelled();
}
class House extends Product{
public function beProducted() {
echo "房子生产出来是这样\n";
}
public function beSelled() {
echo "生产出来的房子被卖出去了\n";
}
}
class Phone extends Product{
public function beProducted() {
echo "手机出来是这样\n";
}
public function beSelled() {
echo "生产出来的手机被卖出去了\n";
}
}
$house = new House();
$houseCorp = new HouseCorp($house);
$houseCorp->makeMoney();
$shanzhaiCorp = new ShanZhaiCorp(new Phone());
$shanzhaiCorp->makeMoney();
执行结果:
房子生产出来是这样
生产出来的房子被卖出去了
房地产公司挣大钱了。。。
手机出来是这样
生产出来的手机被卖出去了
挣大钱了。。。标签:style http io 使用 ar sp div art on
原文地址:http://www.cnblogs.com/yxwkf/p/3996166.html