仮想、抽象的、オーバーライド用法

 

抽象:

または抽象クラスのメソッド、抽象クラス、次のとおりです。

パブリック抽象クラスMigrateBase
{

保護された抽象一覧<文字列> NeedReplaceColumn {取得します。}

}

他のベースクラスとして使用することができるMigrateBase、NeedReplaceColumnプロパティは、その中のサブクラスでオーバーライドしなければならないオーバーライド、および抽象メソッドまたは名声、実装書き込みしない性質で。

 

バーチャル:

仮想メソッド、次のように

パブリック抽象クラスMigrateBase
{

        保護された仮想リストの<string> NeedReplaceColumn
        {

            取得
            {

                リストの<string> numlist =新しいリストの<string>(){

                { "1"}、

                { "2"}

                }。

                numlistを返します。
            }
        }

}

仮想サブクラスMigrateBaseによって継承オーバーライドすることができた場合に、オーバーライドオーバーライドでない場合、値はNeedReplaceColumnリストの<string>()は{{「1」}、{「2」}}なくてもよいです。

オーバーライドする場合は、次のように:

   パブリッククラスMigratePatientsDocuments:MigrateBase
    {

       保護オーバーライドリスト<ストリング> NeedReplaceColumn
        {

            取得
            {

                リストの<string> numlist =新しいリストの<string>(){

                { "三"}、

                { "4"}

                }。

                numlistを返します。
            }
        }

 

      あなたはMigratePatientsDocumentsクラスを実行するときに、NeedReplaceColumn値は次のとおりです。

リストの<string>(){

                { "三"}、

                { "4"}

                }。

オーバーライド:

  メソッドオーバーロード、抽象親クラスのサブクラスはこのメソッドをオーバーライドしなければならない方法、および仮想メソッドがあり、あなたがすることはできません。

ます。https://www.cnblogs.com/springyangwc/archive/2011/01/31/1948417.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33806914/article/details/93340823