クラスの作成
namespace CSharpLearningClass
{
class Sample1
{
//これがクラス
//オブジェクトの型を定義している
class Customer
{
public int ID { get; set; } //これらがエンティティ
public string Name { get; set; } //これらがエンティティ
//暗黙的なValueTypeの派生クラスとして文字表示をオーバーライドする
//文字の位置シフトも利用した例
public override string ToString()
{
return string.Format("Name={0,-15} Age={1,-8}", Name, ID);
}
}
//ctor
public Sample1()
{
//オブジェクトを作成 object1が「オブジェクト」であり「Customerクラスのインスタンス」でもある
//object1はCustomerに基づくオブジェクトの参照を返す。これはデータ自体を含んでいない
//(アドレスの入れ物とメモリが確保されている)
Customer object1 = new Customer();
object1.ID = 100;
object1.Name = "MyName";
//これはポインタ。オブジェクトを参照しない「オブジェクト参照」を作成している(アドレスの入れ物だけでメモリが確保されていない)
Customer object2;
//object2.ID = 1; //これは未割り当てのためエラーが出る
//参照を受け渡しすればOK
object2 = object1;
Console.WriteLine("{0}:{1}",object2.ID, object2.Name);
object2.ID = 500;
object2.Name = "MirrorMan";
//参照渡しから値を変更したのでobject2の変更がobject1に反映されている。クラスは参照型なのがよくわかる
Console.WriteLine("{0}:{1}", object1.ID, object1.Name);
}
}
}
最終更新:2012年05月27日 18:50