C#インタフェースの問題について話しましょう.
4030 ワード
この間のプロジェクトはインタフェースに役立ち、最初はインタフェースを特に理解するのではなく、インタフェースの定義が非常に簡単であることを知っているだけで、このインタフェースはただ多くのことだと思っていました(個人が開発したとき).今からチーム開発を始めて、やっとインタフェースがこんなに重要で便利であることを発見しました!
次に私のこの时间のインタフェースの使用に対する粗浅な见解について话して、言うのはみんなにいいことを望んで、言うのは间违っているところがあってみんなに多く提案を许してほしいです!
READY GO!
インタフェースの定義は多く言わないで、それは1つのとても重要な知識点があって、このインタフェースのクラスを継承するすべてインタフェースの中の定義を実現しなければならなくて、この必要といえば、チームの開発の中で、私达がインタフェースを協議しさえすれば、それでは私达のコードは統一しましたか!!!
これは私がインタフェースの重要な第一点だと思います:それは私たちがプロジェクトの規定を統一するのに便利で、チームコードの管理に便利です!
もう1つの例で説明します.
A社は动物システムを开発することを决めました.その中には多くの动物が含まれています.会社は各动物の叫び声を実现することを决めました.ここまで言うと、私たちは一般的にプログラマーが自分の実现する动物类を手に入れてから、大々的にやり始めました!!Xプログラマーは犬というクラスを実現し、彼は叫び方void Han(){......}Yプログラマーは猫というクラスを実現し、彼は叫び方void Shout(){......}Mプログラマーは豚というクラスを実現し、彼は叫び方void Shout(string content){......}を書いた.
さあ、今はそれぞれ完成しなければならない动物を完成して、隣の王さんは百獣の斉鸣を実现し始めました!!!¥%¥*%¥%¥%¥暴言!これはどう書きますか.一つ一つ呼び出して???
見てみましょう.Xプログラマーは英語があまり上手ではありませんし、あまり管理していません.動物の叫び方を書くだけです.YプログラマーとMプログラマーが書いた叫び方の名前は同じですが、Mプログラマーの中で動物の叫びの内容を伝えなければなりません!!!
隣の王さんは今、すべての動物を一度呼んでもらうには、動物と動物の呼び出し方法が必要です.
OK、次の会議で相談します.隣の王さんは動物インタフェースを定義して、すべての動物類はこのインタフェースを継承しなければなりません.このインタフェースはvoid Shout()だけを定義します.(書くことが多いだけで、こっそり怠けている)
X,Y,Mプログラマーが引き継いだ後,X,Mはすぐに問題を発見し,自分の手にあるクラスを変更し始めた.
この时、王さんは百獣が一斉に鳴き始めました.ハハハハ
次はコードを貼ってみましょう
インタフェース
犬
ネコ匹
ブタ匹
隣の王が百獣斉鳴を実現する
このインタフェースの大まかな見解は終わりました!インタフェースというものは使いやすいですが、私たちはやはりこのインタフェースの役割を理解して、私のこの文章がもっと私のような初心者にインタフェースというものに第一歩を踏み出すことができることを望んでいます.
次に私のこの时间のインタフェースの使用に対する粗浅な见解について话して、言うのはみんなにいいことを望んで、言うのは间违っているところがあってみんなに多く提案を许してほしいです!
READY GO!
インタフェースの定義は多く言わないで、それは1つのとても重要な知識点があって、このインタフェースのクラスを継承するすべてインタフェースの中の定義を実現しなければならなくて、この必要といえば、チームの開発の中で、私达がインタフェースを協議しさえすれば、それでは私达のコードは統一しましたか!!!
これは私がインタフェースの重要な第一点だと思います:それは私たちがプロジェクトの規定を統一するのに便利で、チームコードの管理に便利です!
もう1つの例で説明します.
A社は动物システムを开発することを决めました.その中には多くの动物が含まれています.会社は各动物の叫び声を実现することを决めました.ここまで言うと、私たちは一般的にプログラマーが自分の実现する动物类を手に入れてから、大々的にやり始めました!!Xプログラマーは犬というクラスを実現し、彼は叫び方void Han(){......}Yプログラマーは猫というクラスを実現し、彼は叫び方void Shout(){......}Mプログラマーは豚というクラスを実現し、彼は叫び方void Shout(string content){......}を書いた.
さあ、今はそれぞれ完成しなければならない动物を完成して、隣の王さんは百獣の斉鸣を実现し始めました!!!¥%¥*%¥%¥%¥暴言!これはどう書きますか.一つ一つ呼び出して???
見てみましょう.Xプログラマーは英語があまり上手ではありませんし、あまり管理していません.動物の叫び方を書くだけです.YプログラマーとMプログラマーが書いた叫び方の名前は同じですが、Mプログラマーの中で動物の叫びの内容を伝えなければなりません!!!
隣の王さんは今、すべての動物を一度呼んでもらうには、動物と動物の呼び出し方法が必要です.
OK、次の会議で相談します.隣の王さんは動物インタフェースを定義して、すべての動物類はこのインタフェースを継承しなければなりません.このインタフェースはvoid Shout()だけを定義します.(書くことが多いだけで、こっそり怠けている)
X,Y,Mプログラマーが引き継いだ後,X,Mはすぐに問題を発見し,自分の手にあるクラスを変更し始めた.
この时、王さんは百獣が一斉に鳴き始めました.ハハハハ
次はコードを貼ってみましょう
インタフェース
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InterfaceProject
{
///
///
///
interface IAnimal
{
///
///
///
void Shout();
}
}
犬
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InterfaceProject
{
///
///
///
public class Dog:IAnimal
{
public void Shout()
{
Console.WriteLine(" ");
}
}
}
ネコ匹
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InterfaceProject
{
///
///
///
public class Cat:IAnimal
{
public void Shout()
{
Console.WriteLine(" ");
}
}
}
ブタ匹
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InterfaceProject
{
///
///
///
public class Pig:IAnimal
{
public void Shout()
{
Console.WriteLine(" ?? ");
}
}
}
隣の王が百獣斉鳴を実現する
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InterfaceProject
{
class Program
{
static void Main(string[] args)
{
// ( IAnimal , , )
List animals = new List();
IAnimal dog = new Dog();
animals.Add(dog);
IAnimal cat = new Cat();
animals.Add(cat);
IAnimal pig = new Pig();
animals.Add(pig);
//
for (int i = 0; i < animals.Count; i++)
{
animals[i].Shout();
}
}
}
}
このインタフェースの大まかな見解は終わりました!インタフェースというものは使いやすいですが、私たちはやはりこのインタフェースの役割を理解して、私のこの文章がもっと私のような初心者にインタフェースというものに第一歩を踏み出すことができることを望んでいます.