A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马毅 中级黑马   /  2012-12-24 21:41  /  2231 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    接口定义了一组函数的签名,吃了函数外还可以包含属性、索引器以及事件,因为只包含签名,故接口无法实例化,也不能有构造函数和字段成员,在声明接口的时候不能为私有货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#基础请看这里

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览
挺好,但你应该仔细点,好几个错字
回复 使用道具 举报
值得学习ing!
回复 使用道具 举报
hanyahui 发表于 2012-12-24 21:46
挺好,但你应该仔细点,好几个错字

天气冷0.0.,抱着暖手宝敲字自然~~
回复 使用道具 举报
Mayi 发表于 2012-12-24 21:57
天气冷0.0.,抱着暖手宝敲字自然~~

呵呵呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马