黑马程序员技术交流社区

标题: 接口 [打印本页]

作者: 马毅    时间: 2012-12-24 21:41
标题: 接口
    接口定义了一组函数的签名,吃了函数外还可以包含属性、索引器以及事件,因为只包含签名,故接口无法实例化,也不能有构造函数和字段成员,在声明接口的时候不能为私有货virtual,因为接口总是public的,所以我们可以这样定义一个接口:
  1.     public interface Idemo
  2.     {
  3.         void M1();
  4.         void M2();
  5.         string ss
  6.         {
  7.             get;
  8.             set;
  9.         }
  10.     }
复制代码
命名接口的时候习惯以I开头,算是公约吧,以下代码实现上述接口:
  1. class cla:Idemo
  2.     {

  3.         public void M1()
  4.         {
  5.             //
  6.         }

  7.         public void M2()
  8.         {
  9.             //
  10.         }

  11.         public string ss
  12.         {
  13.             get
  14.             {
  15.                 //
  16.             }
  17.             set
  18.             {
  19.                 //
  20.             }
  21.         }
  22.     }
复制代码
所以接口只是定义了存在性,而没有定义如何实现,须注意一点,接口成员不能有任何修饰符,如若加上修饰符(不论是public还是virtual),都会报错,
     接口在实现时必须实现接口中的所有成员,如果接口还继承字其他接口,如:
  1.     public interface Idemo
  2.     {
  3.         void M1();
  4.         void M2();
  5.         string ss
  6.         {
  7.             get;
  8.             set;
  9.         }
  10.     }
  11.     public interface Idemo2:Idemo
  12.     {
  13.         void mm1();
  14.         void mm2();
  15.         int ints
  16.         {
  17.             get;
  18.         }
  19.     }
复制代码
实现Idemo2时,不仅仅要实现Idemo2的成员,也要实现其继承与Idemo的成员,所以实现如下:
  1.     class demoCla:Idemo2
  2.     {

  3.                public void mm1()
  4.         {
  5.            //
  6.         }

  7.         public void mm2()
  8.         {
  9.             //
  10.         }

  11.         public int ints
  12.         {
  13.             get
  14.             {
  15.                 //
  16.             }
  17.         }

  18.         public void M1()
  19.         {
  20.             //
  21.         }

  22.         public void M2()
  23.         {
  24.             //
  25.         }

  26.         public string ss
  27.         {
  28.             get
  29.             {
  30.                 //
  31.             }
  32.             set
  33.             {
  34.                 //
  35.             }
  36.         }
  37.     }
复制代码
以上接口介绍完毕
其他C#基础请看这里

作者: hanyahui    时间: 2012-12-24 21:46
挺好,但你应该仔细点,好几个错字
作者: 许庭洲    时间: 2012-12-24 21:47
值得学习ing!
作者: 马毅    时间: 2012-12-24 21:57
hanyahui 发表于 2012-12-24 21:46
挺好,但你应该仔细点,好几个错字

天气冷0.0.,抱着暖手宝敲字自然~~
作者: hanyahui    时间: 2012-12-24 22:03
Mayi 发表于 2012-12-24 21:57
天气冷0.0.,抱着暖手宝敲字自然~~

呵呵呵呵




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2