ArcObjects является средой разработки в ArcGIS семейства приложений. Используя Visual Basic для приложений , C # или Java SDK для ArcGIS, он позволяет разработчикам расширять эти приложения. [1]
ArcObjects - это библиотека компонентов COM, которые составляют основу платформы Esri ArcGIS. ArcObjects написан в основном на языке программирования C ++ . Все приложения ArcGIS for Desktop основаны на ArcObjects. Начиная с ArcGISполностью построена на основе ArcObjects, вы можете использовать COM-сервисы и возможности для полной настройки и расширения платформы ArcGIS - это означает, что расширение модели данных ArcObjects может быть выполнено легко и практически со всеми COM-совместимыми языками программирования (например, Visual Basic , C # , Visual Basic.NET , Java и Python ). COM позволяет повторно использовать компоненты на двоичном уровне. Другими словами, разработчикам не требуется доступ к исходному коду ArcObjects для расширения платформы ArcGIS. По этой причине программист ArcObjects может использовать любой тип внутри системы ArcObjects, не зная деталей реализации этого типа. Разработчику нужно только знать, на что способен тип. Поскольку ArcObjects основан на стандарте COM, вы можете легко работать с ним в сочетании с другими COM-объектами и приложениями (многие приложения для Windows, такие как Microsoft Office, основаны на стандарте COM). Как упоминалось ранее, платформа ArcGIS была построена с использованием типов ArcObjects (таких как классы, интерфейсы и перечисления). В мире ArcObjects классы используют интерфейсы для организации свойств и методов. Проще говоря, классы внутри ArcObjects используют только COM-интерфейсы для раскрытия своих общедоступных членов и взаимодействия друг с другом. При работе с COM-классом ArcObjects вы никогда не работаете со свойствами и методами этого класса; скорее, вы всегда получаете доступ к его свойствам и методам через один из его реализованных интерфейсов. Например, когда вы создаете экземпляр объекта, вы можете использовать только один интерфейс. Однако после создания экземпляра вы можете запросить любой другой интерфейс, реализованный этим объектом. Этот процесс иногда называют интерфейсом запросов (QI). Классы в ArcObjects часто имеют много интерфейсов. [2]