017 インターフェイス(実装と継承) 007 解答例

// Flyable インターフェイスの宣言
interface Flyable {
    void fly();
}

// Bird クラスの宣言と Flyable インターフェイスの実装
class Bird implements Flyable {
    @Override
    public void fly() {
        System.out.println("Flying");
    }

    void makeSound() {
        // 適切な実装
    }
}

// Sparrow クラスの宣言と Bird クラスの継承
class Sparrow extends Bird {
    // makeSound メソッドのオーバーライド
    @Override
    void makeSound() {
        System.out.println("Chirp!");
    }

    // Flyable インターフェイスの fly メソッドの実装
    @Override
    public void fly() {
        System.out.println("Flying like a sparrow.");
    }
}

この例では、Flyable インターフェイスを実装した Bird クラスと、Bird クラスを継承した Sparrow クラスがあります。Sparrow クラスでは makeSound メソッドをオーバーライドして「Chirp!」と表示し、fly メソッドを実装して「Flying like a sparrow.」と表示します。

「017 インターフェイス」問題集リスト