今のC#だとクラスに"メンバ変数"を使う代わりに"プロパティ"という機能が搭載されてしまったので、コンストラクタを作って、メンバ変数を初期化なんてしないですよね。フォームアプリだと自動でつくってしまいますし。
なのでthisを理解できる機会が少ないのではないかと思います。実際私はC#ではthisはほとんど使っていませんね.
Javaの"オブジェクト指向"のプログラミングではよくコンストラクタを使うのでthisが理解できるのではないかと思います。
thisの意味に関して:
"this"の意味ですが私は"自分自身"という意味でとらえて理解しています。
簡単な例で言うと
public class Person{
//メンバ変数 普通修飾詞はprivateです
private string name;
private int weight;
private int height;
//コンストラクタ thisがついている方が"自分自信"で、ついていない方が"外部からもらった引数の値"
//こうするとthis(自分自信).nameと外部引数のnameと同じ変数の名前でも、どっちか分りますよね。
public Person(string name,int weight,int height){
this.name = name;
this.weight = weight;
this.height = height;
}
}
static void Main(string[] args)
{
//Mainインスタンスを宣言する際はperson1やperson2がthis(自分自信)にあたります。
//だから基本Mainではthisは使いませんよね
Person person1 = new Person("Mark",170,60);
Person person2 = new Person("Mary",160,48);
}
thisの必要性:
オブジェクト指向プログラミングでthis(自分自身),super(親)などのキーワードは重要なので理解しておく必要はあると思います。
thisを使う利点:
自分自身を明確にすることができる点かなと思います。ただ、C#はプロパティーという機能が追加されたのでなかなか使う機会がありません。
とりあえずオブジェクト指向にはthisやsuperは必要な考え方なので覚えないといけないかと!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/10/10 08:10
2014/10/12 09:42
2014/10/13 23:56