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

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

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

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

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

    // Swimmable インターフェイスの swim メソッドの実装
    @Override
    public void swim() {
        System.out.println("Swimming like a goldfish.");
    }
}

この例では、Swimmable インターフェイスを実装した Fish クラスと、Fish クラスを継承した Goldfish クラスがあります。Goldfish クラスでは makeSound メソッドをオーバーライドして「Blub!」と表示し、swim メソッドを実装して「Swimming like a goldfish.」と表示します。

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