抽象:
または抽象クラスのメソッド、抽象クラス、次のとおりです。
パブリック抽象クラス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で再現