プロパティ †プロパティの機構も言語レベルでサポートしてるみたいです。JavaでいうGetter/Setterのアクセッサですね using System;
namespace hogehoge
{
class Program
{
public static void Main(String[] args)
{
JavaBeans bean = new JavaBeans();
bean.Name = "ほげほげ"; <-実はSetterでアクセスしてる
Console.WriteLine(bean.Name); <-実はGetterでアクセスしてる
}
}
class JavaBeans
{
private String name;
private int age;
public String Name
{
set { this.name = value; } <-Setterの定義
get { return this.name;} <-Getterの定義
}
}
}
インデクサ †さっきのプロパティ機構をつかって、内部のフィールドの配列にその変数名をつかってアクセスすることができます。これをインデクサって呼ぶみたいです。 using System;
namespace hogehoge
{
class Program
{
public static void Main(String[] args)
{
JavaBeans bean = new JavaBeans();
for (int i = 0; i < 3; i++)
{
Console.WriteLine(bean[i]); <-変数自体が配列に見える
}
}
}
class JavaBeans
{
private String[] names = new String[] { "ほげほげ", "ふがふが", "ふーふー" };
public String this[int index] <-this自身をアクセッサにしてる
{
get
{
return names[index];
}
set
{
names[index] = value;
}
}
}
}
関連リンク †この記事は 現在のアクセス:2155 |