【S4】問4解答例

<?php

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

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

/**
 * クラス Car を作成し、DriveInterfaceを実装
 */
class Car implements DriveInterface
{
    public function drive(): void
    {
        echo '車を運転しました' . PHP_EOL;
    }
}
                    
<?php

/**
 * クラスAirplaneを作成し、DriveInterfaceとFlyInterfaceを多重実装
 */
class Airplane implements DriveInterface, FlyInterface
{
    public function drive(): void
    {
        echo '飛行機を運転しました' . PHP_EOL;
    }

    public function fly(): void
    {
        echo '飛行機を飛行させました' . PHP_EOL;
    }
}
                    
<?php

// Carクラスを使用
$car = new Car();
$car->drive();

// Airplaneクラスを使用
$airplane = new Airplane();
$airplane->drive();
$airplane->fly();