ArcEngine中CoClass和Class的理解

今天看抽象类,组件类,普通类有点不是很明白,百度了这个文才弄懂了,呵呵

抽象类比较好区分,我就不介绍了,下面是组件类和普通类的区别

======================================

ArcEngine中 workSpace 就是一个可实实例化类
WorkSpace不能用new创建,但可以通过WorkSpaceFarctory.Openfromfile()方法来创建.如下:

IWorkspaceFactory pWorkspaceFactory = new AccessWorkspaceFactoryClass();
IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(ConnectionString, 0);

但当我们尝试用New去创建一个Workspace类时,如下:
IWorkspace
pWorkspace = new WorkspaceClass();
就会出现以下错误:
“类型”ESRI.ArcGIS.Geodatabase.WorkspaceClass未定义构造函数;

所以,Class和CoClass的主要区别就是CoClass是带构造函数的Class.以此它可以用New直接创建对象。
======================================

以下为演示稿截图:

组件类和普通类区别

其中,Nest和Chicken 是聚合关系(Aggregation),既它们之间不共存。
        Wings和Chicken是组合关系(Composition),它们共存,翅膀是鸡的一部分,鸡不在了翅膀也就没了。

我们可以:
iChicken pChicken   //iChicken is an interface of Chicken
ppChicken = new Chicken //创建Chicken对象

iEgg pEgg //iEgg is an interface of Egg

//通过"Chicken"对象的"iChicken"接口下的“layeggs()"方法创建“Egg”对象
pEgg =pChicken.layegg();

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值