面向对象的方法
发布时间:2014/6/26 22:33:23 访问次数:487
下面我们再来看面向对象的解决方案。
在Board Testing项目中,打开Object-Oriented Solution文件夹中的Test Boards_OBJECT.vi,图6-19是它的程序框图,这个VI说明同样的问题用面向对象编程的方法如何解决。
在程序框图中生成仿真图像和输出测试结果部分的图形代码与面向过程的程序相同。GRM0332C1H220JA01在面向过程的程序中用一个选择结构来选择板卡的类型,选择板卡类型的程序框图如图6~20所示,而在面向对象的程序中是用Enum to Board Design .vi( Object-Oriented Solution- Classes—Boards—Board Design .lvclass)产生一个与板卡类型适应的对象。
两种方法的比较
容易看出,面向对象的编程方法与面向过程的编程方法中程序对每个板卡执行相同的操作(检查图像、创建测试名称等),然而打开Check Image Matches Design.vi的程序框图,会发现它与面向过程的编程方法有很大的不同。在这里不是一块一块的检查特定位置的颜色,而是建立一个板卡组件的对象表,然后对每个组件调用自检测( Self Test)方法,如图6-21所示。面向对象的编程方法与面向过程的方法在分解问题时采用不同的形式。
在项目管理器中打开Object-Oriented Solution\Classes文件夹,可以看出面向对象的编程方法比面向过程的编程方法使用更多的子VI。
下面我们再来看面向对象的解决方案。
在Board Testing项目中,打开Object-Oriented Solution文件夹中的Test Boards_OBJECT.vi,图6-19是它的程序框图,这个VI说明同样的问题用面向对象编程的方法如何解决。
在程序框图中生成仿真图像和输出测试结果部分的图形代码与面向过程的程序相同。GRM0332C1H220JA01在面向过程的程序中用一个选择结构来选择板卡的类型,选择板卡类型的程序框图如图6~20所示,而在面向对象的程序中是用Enum to Board Design .vi( Object-Oriented Solution- Classes—Boards—Board Design .lvclass)产生一个与板卡类型适应的对象。
两种方法的比较
容易看出,面向对象的编程方法与面向过程的编程方法中程序对每个板卡执行相同的操作(检查图像、创建测试名称等),然而打开Check Image Matches Design.vi的程序框图,会发现它与面向过程的编程方法有很大的不同。在这里不是一块一块的检查特定位置的颜色,而是建立一个板卡组件的对象表,然后对每个组件调用自检测( Self Test)方法,如图6-21所示。面向对象的编程方法与面向过程的方法在分解问题时采用不同的形式。
在项目管理器中打开Object-Oriented Solution\Classes文件夹,可以看出面向对象的编程方法比面向过程的编程方法使用更多的子VI。