// Dishクラスの定義
class Dish {
// cookメソッド
public void cook() {
System.out.println("料理を作ります");
}
}
// Pastaクラスの定義(Dishクラスを継承)
class Pasta extends Dish {
// cookメソッドのオーバーライド
@Override
public void cook() {
System.out.println("パスタを茹でます");
}
}
// Pizzaクラスの定義(Dishクラスを継承)
class Pizza extends Dish {
// cookメソッドのオーバーライド
@Override
public void cook() {
System.out.println("ピザを焼きます");
}
}
// メインクラス
public class Main {
public static void main(String[] args) {
// Dishクラスのインスタンス
Dish genericDish = new Dish();
genericDish.cook(); // 料理を作ります
// Pastaクラスのインスタンス
Pasta pastaDish = new Pasta();
pastaDish.cook(); // パスタを茹でます
// Pizzaクラスのインスタンス
Pizza pizzaDish = new Pizza();
pizzaDish.cook(); // ピザを焼きます
}
}
このコードでは、Dish
クラスが基本的な cook
メソッドを提供し、Pasta
クラスと Pizza
クラスがそれを継承して必要なメソッドをオーバーライドしています。それぞれのクラスのインスタンスを作成し、cook
メソッドを呼び出すことで、対応するメッセージが表示されます。