基底クラスの test_abstractclass は、抽象クラスであり、
抽象メソッドの abstMethod を持っている。
また普通のメソッドの TestSTART は、この抽象メソッドを呼び出す。
派生クラスの test_concreteclass で、その抽象メソッドを実装している。
abstract public class test_abstractclass
{
abstract protected string abstMethod();
public string TestSTART()
{
return this.abstMethod();
}
}
public class test_concreteclass : test_abstractclass
{
protected override string abstMethod()
{
return "コンクリートメソッドが呼び出されました";
}
}
次のような利用コードを作成して、基底クラスに定義している TestSTART メソッドを呼び出した。
すると、派生クラスで実装したコードが利用されたことが確認できた。
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Clicked Button";
test_concreteclass tcc = new test_concreteclass();
Label2.Text = tcc.TestSTART();
}
Label2には、「コンクリートメソッドが呼び出されました」と表示された。