欢迎来到天天文库
浏览记录
ID:40617842
大小:328.50 KB
页数:31页
时间:2019-08-05
《关于接口的一些文章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、接口编程-写给ArcGISEngine的初学者接口编程AE是基于COM技术的而构建的一些COM组件,关于COM是什么,大家不妨Google下,但是我在这里强调一点COM不是一种语言,COM也不是一接口,更不是类,而是一种基于二进制组件的通信标准。在这篇博文的后面,我会附加一个我在学习Engine的时候收录的一些有关COM技术的文章。使用AE,也就意味着使用里面的接口,那么什么是接口呢?在面向对象的编程中,我们都会接触到这个玩意儿,我们知道面向对象有三大特性封装,继承,多态,相信很多人在学习多态的时候,会接触接口。接口可以用这样一句话来描述“接口就是包含一系列不被实现的方法.而把这些方法的
2、实现交给继承它的类.”,这句话看起来很晦涩,没关系,我们通过下面一个例子说明我定义了一个接口IPeople1.usingSystem;2.usingSystem.Collections.Generic;3.usingSystem.Linq;4.usingSystem.Text;5.namespaceInterfaceTest6.{7. interfaceIPeople8. {9. voidgender();10. }11.}复制代码这个接口里面有一个性别的方法,这个只对方法进行了定义,而方法内却没有内容,也就是说,通过这个接口的这个gender方法,我们不能知道它到底干什
3、么,但是要知道这个gender到底是干什么用的,那么就要看实现了这个方法的类。同理我定义两个类,分别实现这个接口1.usingSystem;2.usingSystem.Collections.Generic;3.usingSystem.Linq;4.usingSystem.Text;5.namespaceInterfaceTest6.{7. classBoy:IPeople8. {9. publicvoidgender()10. {11. Console.WriteLine("I’maboy.");12. }13. }14.}复制代码1.
4、usingSystem;2.usingSystem.Collections.Generic;3.usingSystem.Linq;4.usingSystem.Text;5.namespaceInterfaceTest6.{7. classGirl:IPeople8. {9. publicvoidgender()10. {11. Console.WriteLine("I’magirl.");12. 1. }2. }3.}复制代码通过上面的两个类,我们就很清楚的看到这个方法的作用了,我们也可以看到一个接口可以被多个类实现。我们运
5、行一下这个,看一下效果1.usingSystem;2.usingSystem.Collections.Generic;3.usingSystem.Linq;4.usingSystem.Text;5.namespaceInterfaceTest6.{7. classProgram8. {9. staticvoidMain(string[]args)10. {11. IPeoplePerson;//声明接口变量12. Person=newBoy();//实例化,接口变量中存放对象的引用13. Person.gender();/
6、/这个调用的是Boy中的gender方法14. Person=newGirl();//实例化,接口变量中存放对象的引用15. Person.gender();//这个调用的是Gril中的gender方法16. Console.ReadLine();17.18. }19. }20.}复制代码运行结果如下:下载(41.07KB)2011-12-421:14我们知道一个类实现了接口,那么我们可以通过类调用方法,比如上面的Boy实现了IPeople接口,我们也可以这么做1.BoypBoy=newBoy();2.3.4.pBoy.gender(
7、);5.6.7.GirlpGirl=newGirl();8.9.10.11.pGirl.gender();复制代码这个结果和上面是一模一样的,如何做到只让我们使用接口而不使用类呢?我们只要显示实现接口,我们以Girl为例,如下:1.classGirl:IPeople2. {3. 4. #regionIPeople成员显示实现5. voidIPeople.gender()1. {2.
此文档下载收益归作者所有