namespacedemo1{/// <summary>/// 接口使用interface关键字进行定义/// 接口中只能声明方法不能定义,也就是说声明的方法不能有方法体。/// 接口不能包含常量、字段、运算符、实例构造函数、析构函数或类型,不能包含静态成员。由于不能有字段,所以属性经常被写做自动属性。/// 接口成员都是自动公开的,且不能包含任何访问修饰符/// 接口类似于抽象基类,不能直接实例化接口;接口中的方法都是抽象方法,实现接口的任何非抽象类型都必须实现接口的所有成员/// /// </summary>/// interfaceImyInterface1//实现一个接口{intadd();}interfaceImyInterface2{intadd();}classmyclass:ImyInterface1,ImyInterface2//继承接口,接口不可以实例化{int ImyInterface1.add()//显式接口的定义{int a =1;int b =2;
Console.WriteLine("这是接口1");return a + b;}int ImyInterface2.add(){int a =1;int b =2;int c =3;
Console.WriteLine("这是接口2");return a + b+c;}}internalclassProgram{staticvoidMain(string[] args){myclass a=newmyclass();//实例化对象,该类继承了接口ImyInterface1 b = a;//使用继承接口类的对象实例化接口
Console.WriteLine(b.add());//使用接口对象调用接口1 的方法ImyInterface2 c = a;
Console.WriteLine(c.add());}}}