阅读:1012回复:0
关于AO开发中类和接口关系的问题<P>本人接触arcgis +ao开发不到一个月,有几个问题不是很明,甚是郁闷,如果有高手,望请指点一下:本人以前也搞过com开发,但不深入,应该粗略知道些com机制,或许也叫一知半解。但对ao的com机制对照一下突然糊涂了。举例来说:IName是name抽象类定义的接口,Ifeatureclassname是featureclassname类的接口。featureclassname继承了name类,并实现了Iname接口。Iname和Ifeatureclassname都是继承IUNknown接口,也就是说这两个接口是兄弟关系,直不过Iname接口在祖先类里声明了,但让我不懂的是,下面代码:</P><PRE>Dim pName as IName</PRE><PRE>Set pName = pFeatureClassName</PRE><PRE>(在前面声明为dim pfeatureclassname as Ifeatureclassname )</PRE><PRE>Set pFeatureClass = pName.Open(来自arcobjecdevelopment 帮助)</PRE><PRE>pname 为什么可以指向pfeatureclassname,如果从com的vtbl(虚方法表结构)看应该不一样的,可是为什么可以这样使用,能解释一下吗</PRE> |
|