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