Java入門(第9回)

前回振り返り

オブジェクト指向の考え方では、オブジェクトは内部(実装)がどうなっているのかを隠蔽し、 可能な操作と属性(仕様)のみを公開すべきとされています 。これはカプセル化という考えに基づいています。この可能な操作のことをメソッド(method)といい、属性のことをプロパティ(property)といいます。クラスはメソッドとプロパティから成り、適切なアクセス修飾子の付与が必要です。

前回演習問題の解答 例

問題1

問題文

あなたの趣味(好きなもの)をクラスで表現してください。思い浮かばなければ、車で作成してみてください。


解答例

public class Game {
    
    private String title;
    private String device;
    private int price;
    
    public Game() { // コンストラクタ
        System.out.println("コンストラクタが呼ばれる");
    }
    
    public Game(String title, String device, int price) { //コンストラクタ
        this.title = title;
        this.device = device;
        this.price = price;
    }
    
    public String getTitle() {
        return title;
    }

    public String getDevice() {
        return device;
    }

    public int getPrice() {
        return price;
    }

}

問題2

問題文

問題1で作成したクラスをインスタンス化してください。それぞれ別のフィールドを持つ3つのインスタンスを作成してみましょう。


解答例

public class Sample1 {

    public static void main(String[] args) {
        
        Game metal = new Game("メタルギア","PS5",5000);
        Game mario = new Game("マリオ","Wii",3000);
        Game line = new Game("LINE","スマホ",0);
        
        
        System.out.println(metal.getTitle()
                + "のデバイスは"
                + metal.getDevice()
                + "となり、"
                + metal.getPrice()
                + "円となります");
        
        System.out.println(mario.getTitle()
                + "のデバイスは"
                + mario.getDevice()
                + "となり、"
                + mario.getPrice()
                + "円となります");

        System.out.println(line.getTitle()
                + "のデバイスは"
                + line.getDevice()
                + "となり、"
                + line.getPrice()
                + "円となります");

    }

}

今回の演習問題

問題1

問題文

前回、作成したクラスにメソッドを作成してみましょう。

問題2

問題文

基底クラスと継承したクラスを3つ作成してみましょう。

コメント