汤小波
[摘要]在程序设计中,方法占有重要的地位,它是构成程序的基本模块。无论从程序编译原理还是从程序可读性上看,利用方法构造的程序具有得天独厚的技术优势。但方法的书写和应用对于初学者是一个难点,本文从方法的构造入手,深入解析了方法的构造原理及在应用中如何实现书写方法,从而完全掌握方法的设计过程。
[关键字]方法 构造 原理
在c#中,方法是作为类的成员出现的,书写类必然要书写方法。在面向对象编程过程中类又是非常重要的组成部分。作为方法其构造原理值得我们深入剖析。
1、方法的构造原理
查阅C#专业书籍,可知方法的构造格式如下:
方法修饰符返回类型方法名(方法参数列表)
{方法实现部分;}对于众多的方法修饰符,我们暂且以Public修饰符代替,表示方法在类的外部可以访问。对上述格式分析可知:从宏观上看,一个方法包含两大部分,方法头和方法体({}部分),在方法头中,有表示方法访问权限的方法修饰符,表示方法的返回值类型的返回类型,及方法的名称,其后的括号中的参数表示方法的形参,在大括号中的部分称为方法体。
从上述表述中,可以得知,书写一个方法具有三要素:要素一、已知什么;要素二、求什么;要素三、怎么求。
例如:已知圆半径,求圆面积,按上述解决实际问题的原则,它的三要素为:
A已知:圆半径r
B求:圆面积s
C怎么求:s=
经过对上述问题的抽象得到如下构造图:
在书写方法时,我们可以将三要素中的A、B两项作为方法头将实现方法功能的“怎么求”作为方法体,如下代码所示:
通过对上述问题的研究得出方法的构造原理如下:
一、方法由方法头和方法体构成,而方法头又由方法访问权限、方法返回值类型和方法名及形式参数构成。
二、方法构成三要素為方法的宏观构成体系。要素一:已知什么;要素二:求什么;要素三:怎么求。三者为方法的基本要素。
三、针对方法人口和出口参数,方法构造类型可分为四种情况:其一、无入口参数和出口参数(无返回值),称为无进无出型;
其二、有入口参数无出口参数(无返回值),称为有进无出型;
其三、无入口参数有出口参数(有返回值),称为无进有出型;
其四、有入口参数有出口参数(有返回值),称为有进有出型。
2、方法构造实践
对于在面向对象编程过程中,对类中方法的实践,首先应分析具体问题的三个要素,已知、得到什么样的结果及结果的实现思路与过程,充分利用方法的构造原理来指导解决实际问题。
[案例]:个人所得税计算方法如下:当工资在2000元以下时,不上税;在2000-3000的,按5%上税,3000-4000的按10%上税,4000-5000的按15%上税,5000以上的按25%上税,试编写方法,当已知某人工资时,返回其所上的税钱。
构造步骤(一):
根据方法的构造原理二,方法构成三要素来分析,已知什么,显然是某人的工资,求什么应是个人所得税;怎么求。算法在案例中很清楚。据此分析可画出黑盒图如下:
构造步骤(二):根据方法构造原理一,写出方法初步构造格式。将要素一作为方法人口参数,要素二作为方法返回值,其值类型由返回结果决定。根据方法构造原理三,可知该方法属于有进有出型方法。构造见上右代码。
构造步骤(三):对于方法构造要素三,如何求的问题,则属于面向过程的设计思想,直接体现一个问题的算法的问题,其难易程度取决于实际问题的难度,它由程序设计的三种基本结构构成,即顺序结构、选择结构和循环结构。在实现过程中可充分利用三种结构完成设计过程。可将入口参数作为已知条件进行算法设计,其算法如下:
根据此算法,可以利用c#语法规则写出实现代码,如下所示:
3、结语
本文从方法的构造特点总结出了方法的构造原理,将类中方法的实现上升到了理论高度,指导初学者完全理解和掌握方法,从一般问题人手将具体问题抽象出一个个的方法,此设计体现了模块化的程序设计思想,提高了代码的可重用性及开发效率。此一切皆缘于方法的实现。