天天看点

ArcObjects中接口问题总结

1.在ArcObjects中,一个接口可以继承自另一个接口,假如存在接口A,接口B继承自接口A,类C实现了接口B,那么在ArcEngine的帮助文档中,你会显式的的发现类C同时实现了接口B和接口A,而不仅是接口B。

如下下面两幅图图所示,比如ITinLayer2接口继承了ILayer接口,TinLayer类实现了ILayer接口和ITinLayer2接口

注:ITinLayer2接口替换了ITinLayer接口,这是因为ITinLayer2接口也继承了ITinLayer接口,ITinLayer有21个成员,而ITinLayr2接口在这21个成员的基础上又多了ZFactor这个属性成员,这两个接口是姊妹,相差无几,如果查看TinLayr类,会显式的发现实现了ITinLayer2接口,其实这里面也隐式的实现了ITinLayer接口。

ITinLayer2接口信息如下:

ArcObjects中接口问题总结

TinLayer类信息如下:

ArcObjects中接口问题总结

结论:在AE的帮助文档中,查看某个类所实现的接口的时候,它会显示的列出它所有实现的接口,以及这些接口的父接口。

2.如果接口A有m个成员,接口B继承自接口A,在接口A的m个成员的基础上又多了自己独有的n个成员,那么你在ArcEngine的帮助文档中查看接口B的成员时,你会发现列出的成员不仅仅是接口B独有的那n个成员,而是列出来m+n个成员。

如下图所示,ILayer接口中列出了12个成员。

ArcObjects中接口问题总结

如下图所示,已知ITinLayer接口继承了ILayer接口,在ITinLayer接口所列出的成员中,除了自己的独有成员外(相对于ILayer接口独有的),还显式的列出了ILayer接口中的12个成员,已用红色标注出。

ArcObjects中接口问题总结

结论:在AE的帮助文档中,查看某个接口的成员的时候,该接口不仅会列出自己接口中所独有新增加的成员,还会显式列出它的父接口的成员,而不仅仅是列出该接口的独有成员。

继续阅读