using System;
class SampleClass1
{
// 既定のprivate
int num = 1;
public int Num
{
set{this.num = value;}
get{return this.num;}
}
}
// 自動プロパティ
class SampleClass2
{
public int Num { get; set; }
}
// setをprotectedにする
class SampleClass3
{
int num=3;
public int Num
{
protected set{this.num=value;}
get{return this.num;}
}
}
class MainClass
{
static void Main()
{
// SampleClass1をインスタンス化
SampleClass1 sample1 = new SampleClass1();
// setを呼ぶ
sample1.Num = 10;
// getを呼ぶ
Console.WriteLine(sample1.Num);
// SampleClass2をインスタンス化
SampleClass2 sample2 = new SampleClass2();
sample2.Num = 20;
// 出力値:20
Console.WriteLine(sample2.Num);
// SampleClass3をインスタンス化
SampleClass3 sample3 = new SampleClass3();
/* setアクセサはprotectedなので
* アクセスできない
sample3.Num = 30;
* 出力値:3 */
Console.WriteLine(sample3.Num);
}
}
0 コメント:
コメントを投稿