基于C#的对象间数据传递方法分析及实现
2011-08-08陈南南
电脑与电信 2011年11期
关键词:定义
陈南南
(厦门大学嘉庚学院, 福建 厦门 363105)
1.引言
在面向过程的结构化编程中,数据传递通常以函数间的参数传递方式实现。但在面向对象的事件驱动机制的编程模式中,由于类的存在,使得数据更多地是在对象间进行传递。特别是在多窗体程序中,窗体间的数据传递更加频繁。因此,如何规范安全地实现不同对象间的数据传递成为关键。
2.窗体间的数据传递
在面向对象编程中,本类中的函数参数传递方法与面向过程的编程方法类似,本文就不进行阐述了。为了更直观地了解数据在不同对象间的传递,下文以一个基于C#的多窗体小程序为例,分析程序中出现的
几种数据传递方法。如图1所示,Form1中,点击字号按钮后,显示Form2窗体,由该窗体中的滑动条控制Form1中标签控件中的文本字号,滑动条当前value值为标签控件中当前字号大小值。这个小实例虽然简单,但其中包含了几种典型的数据传递方式,这几种方式可以分成两个阶段:主窗体向从窗体传递、从窗体向主窗体传递。

图1 实例截图
3.主窗体向从窗体传递
Form1与Form2分属不同的类,在不同的类对象间进行参数传递,主要有以下几种方式。
3.1 设置类的静态变量
在类定义过程中定义一个静态变量,在不同类对象中应用时可以直接用类名引用该变量,这种方式实现简单,但不符合面向对象的封装思想,而且不同的类对象只能共用该变量,无“个性”。在本例中不适用。
3.2 构造函数参数传递
本例中,Form2显示时需要接收主窗体传递过来的主窗体对象参数以及标签当前字号值。……
登录APP查看全文
