(無償) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

2014年1月22日水曜日

C#の抽象メソッドを使ったテストコード

基底クラスの 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には、「コンクリートメソッドが呼び出されました」と表示された。