多型研究ノートC#()仮想メソッド

  オブジェクト指向プログラミングでは、三つのクラスの特性は、カプセル化、継承、多型。前記多状態の三つの方法に依存して、特定の、すなわち仮想メソッド、抽象クラスおよびインタフェースは。

  多型の具体的な役割は、それがどのようなものですか?または多型は、それが何であるかに存在しますか?多型は、使用中に、私たちは共通している表示することができ、また、必要なときにいくつかの特殊文字を強調するだけでなく、カップリング手順を、削減効果が存在します。

  それでは、どのように3つの多型の方法でそれを達成し、上述のですか?

  私は今日の話をしましょう仮想メソッド:

  まず、私たちは人間の基本クラスを定義します。どの人の名前と国籍が含まれています。

クラス
{ 
    公共の 文字列名;
     公共の 文字列の国;
     公共 無効紹介()
    { 
      Console.WriteLineを(
私の名前は + 名);
      Console.WriteLineを(+国「私はから来ました」); }
}

 

  その後、我々は、クラスを追加します。

クラス人1:人
{ 
    
}

  この時点では、オブジェクト参照の割り当てを作成しました。

CH =人1 新しい新しい人1(); 
ch.Name = " ボブ" ; 
ch.Country = " 中国" ; 
ch.Introudce(); 


結果は:
私の名前はボブです
、私は中国から来ました

 

  すべての中国の人々である場合、この方法は、有能で十分ですが、外国人ではなく、中国からのそのような人は、そこにある理由は、この方法は、一口のビットを導入します。彼はそれを拒否されたため、これは特殊なケースで、合理的であり、我々は彼が特別に置くことはできません。この多型で際立って叫んだ:「私の髪のボリュームは、私を聞かせて!」

  仮想メソッド:追加する前に、クラス宣言のメソッド仮想  修飾子は、それが非仮想のに対し、仮想メソッドと呼ばれています。そして、使用して仮想 ポスト修飾子を、許可されていない、そこ静的、抽象的、またはオーバーライド 修飾子を。この仮想メソッドでは、我々は非常に簡単にこの特殊なケースを解決することができます。

  まず、我々は、基底クラスの提示方法を変更することは空にしましょう、と(追加、それは意味の仮想メソッドになるために必要な修飾子仮想の

クラス
{ 
    公共の 文字列名;
     公共の 文字列の国、
     公共仮想 無効このメソッドは仮想メソッドになるようにIntroudce()//は修飾子仮想プレゼンテーションを追加
    { 
        Console.WriteLineを(私の名前は + 名); 
        Console.WriteLineを(" 私はから来た" + 国); 
    } 
}

 

   その後、我々はこのunsocial例外を追加しますに来て、そして具体的には、彼の独特の変更を作製する方法、我々は呼んで(リライトをオーバーライド

クラスpeople2の
{ 
    公共 オーバーライド ボイド(紹介)
    { 
        Console.WriteLineを(私の名前は + 名)。
        Console.WriteLineを(私はから来たんだ + カントリー)。
    } 
}

 

  次は、私たちは象に冷蔵庫に入れる必要があります。オブジェクトを作成し、割り当て参照

people2の邑= 新しいpeople2の(); 
Eup.Name = ジャック
Eup.Country = " アメリカ" ; 
Eup.Introudce(); 

运行结果:
私の名前はあるジャック
I " アメリカからM

 

  時間の変更を必要としない、これは仮想メソッドの利点である、大規模な変更を必要とし、必要に応じて変更し、オリジナルの方法で使用することができません。

エラーがある場合、これらは、高齢者にも私に教えてできるようにしたい、、、感謝のおかげで先輩を見られるように幸運十分な私の小さな愚見の一部です!

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/wangxiao666/p/11832267.html