浅談インタフェース


インタフェース:
まず次の言葉を見てください.
もし、プログラミングを開始する準備ができている場合は、多くのクラスが必要だと感じていますが、その中のいくつかのクラスは、どの共通の機能が必要かを事前に知っています.どうしよう?もちろんまず、彼らにどのような方法なのか、戻り値があるのか、戻り値がないのか、どのようなタイプを返すのかなどの規定を事前に規定しておくことを考えます.
インタフェースは、あなたを助けることができます.インタフェースは、単なる仕様であり、制約です.
 
コンセプト:インタフェースは、メソッドを組み合わせて、特定の機能の集合をカプセル化します.
注意:
    1.クラスがインタフェースを実装すると、クラスはインタフェースで指定されたすべての属性とメンバーをサポートできます.
2.宣言インタフェースは、構文的に宣言抽象クラスと完全に同じですが、インタフェースにメンバーの具体的な実装は許可されません.したがって、インタフェースはインスタンス化できません.構築方法とフィールドは使用できません.
3.public、private、仮想、または静的などの修飾子は使用できません.
4.インタフェースを実装するクラスは、インタフェース内のすべての方法を実装する必要があります.(抽象クラスの抽象メソッドと同様に、すべて実装する必要があります).
5.1つのクラスは複数のインタフェースを実装することをサポートし、複数のクラスは同じインタフェースをサポートすることもできる.
6.インタフェースの名前は、前に大文字の「I」を付ける.
 
使用方法:
インタフェースはinterfaceで宣言し、classは使用できません.インタフェース名の前に「I」を付けます.インタフェースの属性やメソッドには修飾子、メソッド、メソッドボディは使用できません.
 
コードの例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49    interface   IPlay      {        //  int _id; ,           int   Num  // , , (get,set)。          {              get set ;          }           void   PlayGame(); // ,          void    PlayBasketball();      }
       interface   IEat      {          void   EatFruit();
       }      class   Man:IPlay,IEat  // , , , , 。      {          public   int   Num  // , , 。 。          {              get set ; // , , ,          }         public   void   PlayGame()          {              Console.WriteLine( "I can PlayGame" );          }
           public   void   PlayBasketball()          {              Console.WriteLine( "I can Play BasketBall" );          }
           public   void   EatFruit()          {              Console.WriteLine( "I Can Eat Fruit" );          }      }
 
  -------    static   void   Main( string [] args)          {              Man m =  new   Man();              m.EatFruit();              m.Num = 2;              m.PlayBasketball();              m.PlayGame();              Console.Read();          }