在面向对象编程中,类和对象是两个非常重要的概念,可以这么说类就是创建对象的蓝本,而对象是指具有属性和动作的实体,它封装了一个客观实体的属性与行为。
类 class有三种,分别是抽象类(AbstractClass) 、组件类(CoClass)和普通类(Class) 。
抽象类:不能创建或实例化。其主要目的是为它的子类定义公共接口,一个抽象类将把它的部分或全部实现延迟到子类中,创建实例的任务由其子类完成,子类继承其定义的接口。。
组件类:可以创建。可以直接创建实例的类,在 C#中,用 New 关键字。
普通类:不能创建但可以实例化。虽然不能直接创建,但它可以可以作为其它类的一个属性或者从其它类的实例化来创建。
在抽象类、可创建类和可实例化类之间,有几种存在的关联(或称关系):联系,类继承,实例化,聚合。
联系(association) : 描述了类之间的关联。在两端的类中可以定义多重性( Multiplicity )关联。
类继承(type inheritance):定义了专门的类,它们拥有超类的属性和方法,并且同时也有自身的属性和方法。
实例化(Instantiation): 指定一个类的对象有这样的方法,它能够创建另外一个类的对象。
聚合(Aggregation ):是一种不对称的关联方式,在这种方式下一个类的对象被认为是一个“整体”,而另一个类的对象被认为是“部件”。
在ArcGIS Engline 组件库中,每一个组件都定义有不同的类,类下面定义了不同接口,接口中包含不同的属性和方法。类之间有类型继承(Typelnheritance)关系,接口之间有互相调用(Querylnterface)及相互继承(Interfacelnheritance)关系。