[C#基礎知識シリーズ]特集2:C#にインタフェースを導入する理由


[C#基礎知識シリーズ]特集2:C#にインタフェースを導入する理由
前言:今日C#のインタフェースを見て、とても迷って、どうしてC#の中でどうしてもインタフェースの概念を導入しなければならないことを知らないで、そこで関連資料を調べて詳しく研究して、もとはC#のインタフェースはクラスとクラスの間の1種の協定と制約で、1つのプロジェクトは往々にしてとても巨大で、もし1つのクラスがあるインタフェースを実現したら、このクラスはきっとインタフェースの方法を実現しました、では、このクラスを使用する場合、具体的な方法の実装を考慮する必要はなく、直接呼び出すだけで十分です.同時にインタフェースの導入は私たちの異なる種類の統一管理と制約を便利にして、会社の管理の過程の中でかなり役に立ちます......
では、インタフェースを定義します.
public interface IBark 
{
  void Bark(); 
}

クラスがIBarkに統合されていることを定義するには、クラスdogでBark()メソッドを実装する必要があります.
 
 
public class Dog:IBark
 { 
         public Dog()  
         {}  
         public void Bark()  
         {   
                 Consol.write("  ");
          } 
}

じように、Bark()メソッドを び すには、Dog()にこのようなメソッドを するだけでいいのではないでしょうか.なぜインタフェースを うのでしょうか.インタフェースにはBark()が に されていないためである. に するのはDog()の にある.では、インタフェースを うのはもっと いのではないでしょうか.インタフェースの の から えば、インタフェースは はクラスとクラスの の であり、 である. の を げてみましょう.IBarkインタフェースを するすべてのクラスでBark()メソッドを する がある.ユーザ(クラスを するユーザ)の から、あるクラスがIBarkインタフェースに することを っていれば、Bark()メソッドが にどのように するかにかかわらず、Bark()メソッドを に び すことができる. えば、 たちは のクラスを きました.
 
 
public class Cat:IBark 
 { 
       public Cat() 
       {} 
       public void Bark()  
       { 
            Consol.write("  ");  
       }  
}

ユーザがCatクラスやDogクラスを する 、IBarkに されていることを ると、クラス の な にかかわらず、Bark()メソッドを び すことができる.この2つのクラスにはBark()メソッドに する な があるに いないからである.もし たちが なプロジェクトを う から れば.1つのプロジェクトにはいくつかのクラスが であるが、これらのクラスは で、 が きいため、 クラスは1 のスタッフを して する がある. えばAプログラマーがDogクラスを め、BプログラマーがCatクラスを く.この2つのクラスはもともと のつながりもないが、ユーザーが「 ぶ」 を する があるからだ.これは らに を えなければならない.IBarkインタフェースに させ、 は

もう つは
な び し
もちろん、インタフェースを することなく を することができる.ただし、このような はそれほど らかではなく、このようなクラスにDuckクラスなどがある 、 くの 、このような を らすことは けられない.だからインタフェースを じてもっと が く、 がもっと いです.