using System;
class BaseClass
{
string name = "Kamimura";
protected int age = 0;
public void setName(string name)
{
this.name = name;
}
public virtual void printOut()
{
Console.WriteLine
("名前:{0} 年齢:{1}", name, age);
}
}
class DerivedClass : BaseClass
{
public override void printOut()
{
/* nameは既定のprivateなのエラーになる
this.name = "Kamimura1"; */
// ageはprotectedなのでアクセス可能
this.age = 1;
base.printOut();
}
}
class MainClass
{
static void Main()
{
var drv = new DerivedClass();
// 出力値:名前:Kamimura 年齢:1
drv.printOut();
drv.setName("Kamimura1");
/* nameはprotectedなのでアクセスできない
drv.name = "Kamimura2"; */
/* ageはprotectedなのでアクセスできない
drv.age = 2; */
// 出力値:名前:Kamimura1 年齢:1
drv.printOut();
}
}
0 コメント:
コメントを投稿