個別指導 Javaプログラミングスクール 武蔵浦和(中浦和)

現役SE(システムエンジニア)が埼京線の武蔵浦和(中浦和)周辺でJavaプログラミング学習の個別指導を行っています。

オブジェクト指向1

[Java]オブジェクト指向の練習問題

オブジェクト指向の理解を深めるために、下記2つのクラスを設計しましょう。
スーパークラス:SmartPhone
サブクラス:Iphone
IphoneクラスはSmartPhoneクラスを継承しています。
mainメソッドがあるプログラムを実行するクラスは、上記のクラスとは別パッケージに作成してください。

まずは、mainメソッドで実際に作成したクラスをインスタンス化した実行結果を確認してください。

問題1

public class main {

    public static void main(String[] args) {
        //SmartPhoneをインスタンス化
        System.out.println(SmartPhone.pdctName + "をインスタンス化します。");
        SmartPhone smart = new SmartPhone();
        System.out.println("-------------------------\n");

        System.out.println(Iphone.makerName +"社の" + Iphone.itemName + "をインスタンス化していきます。");
        System.out.println("インスタンス化された" + Iphone.itemName + "の数:現在" + Iphone.getCount() + "台");

        // 初期状態のiphoneをインスタンス化
        System.out.println("-------------------------");
        System.out.println("▼初期設定のiPhoneをインスタンス化▼");
        Iphone iphone = new Iphone();
        System.out.println();

        iphone.turnOff();
        iphone.call("09087654321");
        System.out.println("\n▼初期設定のiPhoneを通話状態、接続状態");
        System.out.println("通話状態:" + iphone.getCallStatus());
        System.out.println("接続状態:" + iphone.getInternetStatus());
        System.out.println("\nインスタンス化された" + iphone.itemName + "の数:現在" + iphone.getCount() + "台");
    }
}

実行結果

SmartPhoneをインスタンス化します。
プロダクト名:SmartPhone
-------------------------

apple社のiPhoneをインスタンス化していきます。
インスタンス化されたiPhoneの数:現在0台
-------------------------
▼初期設定のiPhoneをインスタンス化▼
プロダクト名:SmartPhone
端末ID:00001
型名:未設定
画面サイズ:未設定
容量:0GB
インターネットに接続します。
インターネットにつながりました。

インターネットを切断しました。
09087654321に発信します。
電話につながりました。

▼初期設定のiPhoneを通話状態、接続状態
通話状態:true
接続状態:false

インスタンス化されたiPhoneの数:現在1台


mainメソッドと実行結果、下記コメントを元に、SmartPhoneクラスを作成しましょう。
アクセス修飾子は適したものを選択してください。

public class SmartPhone {
    //フィールド
    String pdctName = "SmartPhone";
    boolean callStatus = false; 
    boolean internetStatus = false;
    
    //コンストラクタ
    //➀インスタンス化された時にpdctNameを表示しましょう
    
    //ゲッター、セッター
    //➀callStatusのゲッター(getCallStatus)を作成しましょう
    //➁callStatusのセッター(setCallStatus)を作成しましょう
    //➂internetStatusのゲッター(getInternetStatus)を作成しましょう
    
    //メソッド
    //➀電話を掛けるメソッド(call)を作成しましょう
    //➁電話を切るメソッド(hangUp)を作成しましょう
    //➂インターネットに接続するメソッド(internet)を作成しましょう
    //➃インターネットを切るメソッド(turnOff)を作成しましょう
    
}


mainメソッドと実行結果、下記コメントを元に、IPhoneクラスを作成しましょう。
IphoneクラスはSmartPhoneクラスを継承してください。
アクセス修飾子は適したものを選択してください。

public class Iphone {
    String makerName = "apple";
    String itemName = "iPhone";
    int count = 0;
    String itemId;
    String type;
    String size;
    int storage;
    String defaultBrowser = "Safari";

    //コンストラクタ
    //➀インスタンス化されたiPhoneの台数をカウントできるように、countを1ずつ増やしましょう
    //➁インスタンス化されたiPhoneは自動的にインターネットに接続します
    //➂実行結果を元にメンバ変数に値を設定しましょう
    
    //ゲッター
    //➀実行結果を元にゲッターを作成しましょう
    
    //メソッド
    //➀端末IDを作成するメソッドを作成しましょう
    ////端末IDは5桁でインスタンス化された台数の連番を左から0埋めしてください
    //➁実行結果を元に端末情報を表示するメソッドを作成しましょう

}



さいたま市南区武蔵浦和駅中浦和駅)周辺でプログラミングを勉強したい・興味のある方に、 個別指導でJavaのプログラミングを教えています。生徒さまはIT・プログラミング未経験の社会人の方がほとんどです。
▼興味があれば、下記リンクをご確認ください。

java-musashiurawa.hatenablog.com