接口定义了一组函数的签名,吃了函数外还可以包含属性、索引器以及事件,因为只包含签名,故接口无法实例化,也不能有构造函数和字段成员,在声明接口的时候不能为私有货virtual,因为接口总是public的,所以我们可以这样定义一个接口:- public interface Idemo
- {
- void M1();
- void M2();
- string ss
- {
- get;
- set;
- }
- }
复制代码 命名接口的时候习惯以I开头,算是公约吧,以下代码实现上述接口:- class cla:Idemo
- {
- public void M1()
- {
- //
- }
- public void M2()
- {
- //
- }
- public string ss
- {
- get
- {
- //
- }
- set
- {
- //
- }
- }
- }
复制代码 所以接口只是定义了存在性,而没有定义如何实现,须注意一点,接口成员不能有任何修饰符,如若加上修饰符(不论是public还是virtual),都会报错,
接口在实现时必须实现接口中的所有成员,如果接口还继承字其他接口,如:- public interface Idemo
- {
- void M1();
- void M2();
- string ss
- {
- get;
- set;
- }
- }
- public interface Idemo2:Idemo
- {
- void mm1();
- void mm2();
- int ints
- {
- get;
- }
- }
复制代码 实现Idemo2时,不仅仅要实现Idemo2的成员,也要实现其继承与Idemo的成员,所以实现如下:- class demoCla:Idemo2
- {
- public void mm1()
- {
- //
- }
- public void mm2()
- {
- //
- }
- public int ints
- {
- get
- {
- //
- }
- }
- public void M1()
- {
- //
- }
- public void M2()
- {
- //
- }
- public string ss
- {
- get
- {
- //
- }
- set
- {
- //
- }
- }
- }
复制代码 以上接口介绍完毕
其他C#基础请看这里 |