C#入門(第9回)

前回振り返り

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

前回演習問題の解答 例

問題1

問題文

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


解答例

public class Comic
{
    // 変数
    private String title;
    private int price;

    public Comic(String title, int price) //これがコンストラクタ
    {
        this.title = title;
        this.price = price;
    }

    // メソッド
    public void SetValue(String title, int price) {
        this.title = title;
        this.price = price;
    }

    public int getPrice(){
        return this.price;
    }

    public String getTitle()
    {
        return this.title;
    }
}

問題2

問題文

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


解答例

var kimetsu = new Comic("鬼滅の刃",300);
var shingeki = new Comic("進撃の巨人",500);
var kingdom = new Comic("キングダム",800);

Console.WriteLine(kimetsu.getTitle()  + "の値段は" +kimetsu.getPrice() + "円です");
Console.WriteLine(shingeki.getTitle()  + "の値段は" +shingeki.getPrice() + "円です");
Console.WriteLine(kingdom.getTitle()  + "の値段は" +kingdom.getPrice() + "円です");

今回の演習問題

問題1

問題文

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

問題2

問題文

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

コメント