【S4】問3解答例

<?php

/**
 * インターフェースCoffeeMachineInterfaceを定義
 */
interface CoffeeMachineInterface
{
    public function brewCoffee(): void;
}
                    
<?php

/**
 * クラスEspressoMachineを作成し、CoffeeMachineInterfaceを実装
 */
class EspressoMachine implements CoffeeMachineInterface
{
    public function brewCoffee(): void
    {
        echo 'エスプレッソを淹れました。' . PHP_EOL;
    }
}
                    
<?php

/**
 * クラスDripCoffeeMachineを作成し、CoffeeMachineInterfaceを実装
 */
class DripCoffeeMachine implements CoffeeMachineInterface
{
    public function brewCoffee(): void
    {
        echo 'ドリップコーヒーを淹れました。' . PHP_EOL;
    }
}
                    
<?php

// EspressoMachine クラスを使用
$espressoMachine = new EspressoMachine();
$espressoMachine->brewCoffee();

// DripCoffeeMachine クラスを使用
$dripCoffeeMachine = new DripCoffeeMachine();
$dripCoffeeMachine->brewCoffee();