// ElectronicDeviceクラスの定義
class ElectronicDevice {
// turnOnメソッド
public void turnOn() {
System.out.println("電源を入れます");
}
}
// Phoneクラスの定義(ElectronicDeviceクラスを継承)
class Phone extends ElectronicDevice {
// makeCallメソッド
public void makeCall() {
System.out.println("電話をかけます");
}
// turnOnメソッドのオーバーライド
@Override
public void turnOn() {
System.out.println("電話をかける前に電源を入れます");
super.turnOn(); // 親クラスのturnOnメソッドを呼び出す
}
}
// Laptopクラスの定義(ElectronicDeviceクラスを継承)
class Laptop extends ElectronicDevice {
// runSoftwareメソッド
public void runSoftware() {
System.out.println("ソフトウェアを実行します");
}
// turnOnメソッドのオーバーライド
@Override
public void turnOn() {
System.out.println("ソフトウェアを実行する前に電源を入れます");
super.turnOn(); // 親クラスのturnOnメソッドを呼び出す
}
}
// メインクラス
public class Main {
public static void main(String[] args) {
// Phoneクラスのインスタンス
Phone phone = new Phone();
phone.turnOn(); // 電話をかける前に電源を入れます / 電源を入れます
phone.makeCall(); // 電話をかけます
// Laptopクラスのインスタンス
Laptop laptop = new Laptop();
laptop.turnOn(); // ソフトウェアを実行する前に電源を入れます / 電源を入れます
laptop.runSoftware(); // ソフトウェアを実行します
}
}
このコードでは、ElectronicDevice
クラスが基本的な turnOn
メソッドを提供し、Phone
クラスと Laptop
クラスがそれを継承して必要なメソッドをオーバーライドしています。それぞれのクラスのインスタンスを作成し、メソッドを呼び出すことで、対応するメッセージが表示されます。