咖啡机工厂

Geticer · · 默认版块
2 0
<?php
interface CoffeeMaker {
    public function brew();
}

class DefaultCoffeeMaker implements CoffeeMaker {
    public function brew() {
        return 'Making coffee.';
    }
}

class FancyCoffeeMaker implements CoffeeMaker {
    public function brew() {
        return 'Crafting a beautiful coffee just for you.';
    }
}

class CoffeeMakerFactory {
    public static function createCoffeeMaker($type) {
        switch ($type) {
            case 'default':
                return new DefaultCoffeeMaker();
            case 'fancy':
                return new FancyCoffeeMaker();
            default:
                throw new Exception('Invalid coffee maker type.');
        }
    }
}

function makecoffee($type = 'default') {
    $coffeeMaker = CoffeeMakerFactory::createCoffeeMaker($type);
    return $coffeeMaker->brew();
}

echo makecoffee();
echo makecoffee('fancy');

这段代码使用工厂模式来实现了创建不同类型的咖啡机,根据传入的参数来选择使用默认的咖啡机还是精致的咖啡机。

最新回复 ( 2 )
  • 0 2

    错位鸟。。。


  • 0 3
    C先生 错位鸟。。。
    后来解决了
Copyright © 2024 Orange Inc. All rights reserved.