深入理解ArcGIS Engine接口查询技术(QI)

本文详细介绍了ArcGIS Engine中的接口查询(QI)技术,强调了QI仅适用于同一类中不同接口之间的转换,并探讨了进行接口查询的原因,即在已实例化的对象中通过QI访问不同接口的属性和方法。文中通过实例代码解释了QI的实际运用。
摘要由CSDN通过智能技术生成

先看看接口查询(QI)的定义吧:同一个类中不同接口之间的转换。即:在一个类实现了多个接口,从类中的一个接口跳转到另外一个接口的过程就是QI(接口查询)。  


在这里,我主要提两点:

1.接口查询(或者叫接口转换)是针对同一个类实现的接口来说的,不同的类实现的接口之间是不能进行QI的。例如,类A实现(继承)了接口IA1,IA2,IA3,IA4。类B实现(或者继承)了接口IB1,IB2,IB3,IB4。那么类A中的四个接口(A1~A4)之间是可以进行接口查询的,类B的四个接口(B1~B4)也是可以进行接口查询的,但是类A实现的接口与类B实现的接口之间是不能进行接口查询的,即:接口查询仅限于同一个类实现的多个接口之间。

2.为什么要进行接口查询?当我们用new关键字实例化了一个类,并将该类实例的引用保存到一个接口类型的变量里面(注:该类实现了该接口),如:IA1 a1=new A();我们知道类A实现了四个接口,但是,对象A目前所能使用的方法和属性就只有接口IA1中所定义的属性和方法,而不能使用其他三个接口所定义的属性和方法。但是,如果我们还想使用其它三个接口(IA2,IA3,IA4)所定义的方法和属性,那么这个时候就要用到QI。
 

下面我们借用别人写的两个例子来具体地解释一下QI的使用。

我们首先自己定义两个接口和一个类,具体如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值