VISSIM COM接口
0 写在前面
以前学习VISSIM的时候,了解过一点点VISSIM二次开发也就是com接口,但是也仅限于了解,只理解过它的面向对象的思想,并无过多的实际操作。这几天因为写毕业论文的缘故,加上指导XH大学的学生参加一个比赛,又写了一点VISSIM的基于MATLAB的com开发。我本身写的VISSIM com接口程序不多。但是基于以前学习java的功底,对VISSIM的com有一点自己的认识。自己也都是基于这一点认识,不断通过度娘写程序的。==========================================
1、com组件
关于com接口,可以百度(https://baike.baidu.com/item/com/5663014#viewPageContent)。百度百科给出的com组件的定义是:【COM的全称是Component Object Model(组件对象模型),是一种面向对象的编程模式。它定义了对象在单个应用程序内部或多个应用程序之间的行为方式。是微软对于网页服务器与客户端、增益集与Office系列软件之间交互的一项软件组件技术。】
因为我的编程能力是个二流技术,看完这个,我也看不懂。能看懂的只是面向对象的编程模式这几个字。而VISSIM的com接口在我理解,全都是一种面向对象的思想。
2、面向对象
关于什么是面向过程,什么是面向对象,如何区分,有何特点,可以百度。。。我还记得当时学Java的时候视频里面老师提到的java就是一种面向对象的编程语言。而所谓的面向对象就是万物皆对象。
放到VISSIM里面来,也就是说所有的东西都是对象。包括路网、车辆输入、路径决策、仿真、评价等等等等。所有的内容都是对象。对象包含抽象的对象和实体的对象。比如说路网、路段、车辆输入、路径决策等,这些在VISSIM里面是有实实在在的东西的,可以认为是实体对象。而仿真对象,这个给人的感觉是看不见,摸不着,这种就是抽象的对象。
VISSIM中的对象的两个明显特点就是从属关系和属性关系(从属和属性这个用词上有待斟酌)。属性关系容易理解,每个对象有不同的属性。比如说人,有身高体重年龄性别,都是人的属性。对于VISSIM中的对象,也是类似。
从属关系也就是父与子的关系,有点像类的继承(已经忘了类的继承是什么东东了)。父对象有父对象的属性,也有父对象的元素,父对象的元素也就是很多很多的子对象。在VISSIM中比如所有的对象的父对象是VISSIM对象,而VISSIM对象下面又包含网络对象NET、仿真对象SIMULATION。网络对象下面包含的有路网对象Links、车辆输入集合VehicleInputs等等。