湯小波
[摘要]在程序設計中,方法占有重要的地位,它是構成程序的基本模塊。無論從程序編譯原理還是從程序可讀性上看,利用方法構造的程序具有得天獨厚的技術優(yōu)勢。但方法的書寫和應用對于初學者是一個難點,本文從方法的構造入手,深入解析了方法的構造原理及在應用中如何實現(xiàn)書寫方法,從而完全掌握方法的設計過程。
[關鍵字]方法 構造 原理
在c#中,方法是作為類的成員出現(xiàn)的,書寫類必然要書寫方法。在面向?qū)ο缶幊踢^程中類又是非常重要的組成部分。作為方法其構造原理值得我們深入剖析。
1、方法的構造原理
查閱C#專業(yè)書籍,可知方法的構造格式如下:
方法修飾符返回類型方法名(方法參數(shù)列表)
{方法實現(xiàn)部分;}對于眾多的方法修飾符,我們暫且以Public修飾符代替,表示方法在類的外部可以訪問。對上述格式分析可知:從宏觀上看,一個方法包含兩大部分,方法頭和方法體({}部分),在方法頭中,有表示方法訪問權限的方法修飾符,表示方法的返回值類型的返回類型,及方法的名稱,其后的括號中的參數(shù)表示方法的形參,在大括號中的部分稱為方法體。
從上述表述中,可以得知,書寫一個方法具有三要素:要素一、已知什么;要素二、求什么;要素三、怎么求。
例如:已知圓半徑,求圓面積,按上述解決實際問題的原則,它的三要素為:
A已知:圓半徑r
B求:圓面積s
C怎么求:s=
經(jīng)過對上述問題的抽象得到如下構造圖:
在書寫方法時,我們可以將三要素中的A、B兩項作為方法頭將實現(xiàn)方法功能的“怎么求”作為方法體,如下代碼所示:
通過對上述問題的研究得出方法的構造原理如下:
一、方法由方法頭和方法體構成,而方法頭又由方法訪問權限、方法返回值類型和方法名及形式參數(shù)構成。
二、方法構成三要素為方法的宏觀構成體系。要素一:已知什么;要素二:求什么;要素三:怎么求。三者為方法的基本要素。
三、針對方法人口和出口參數(shù),方法構造類型可分為四種情況:其一、無入口參數(shù)和出口參數(shù)(無返回值),稱為無進無出型;
其二、有入口參數(shù)無出口參數(shù)(無返回值),稱為有進無出型;
其三、無入口參數(shù)有出口參數(shù)(有返回值),稱為無進有出型;
其四、有入口參數(shù)有出口參數(shù)(有返回值),稱為有進有出型。
2、方法構造實踐
對于在面向?qū)ο缶幊踢^程中,對類中方法的實踐,首先應分析具體問題的三個要素,已知、得到什么樣的結果及結果的實現(xiàn)思路與過程,充分利用方法的構造原理來指導解決實際問題。
[案例]:個人所得稅計算方法如下:當工資在2000元以下時,不上稅;在2000-3000的,按5%上稅,3000-4000的按10%上稅,4000-5000的按15%上稅,5000以上的按25%上稅,試編寫方法,當已知某人工資時,返回其所上的稅錢。
構造步驟(一):
根據(jù)方法的構造原理二,方法構成三要素來分析,已知什么,顯然是某人的工資,求什么應是個人所得稅;怎么求。算法在案例中很清楚。據(jù)此分析可畫出黑盒圖如下:
構造步驟(二):根據(jù)方法構造原理一,寫出方法初步構造格式。將要素一作為方法人口參數(shù),要素二作為方法返回值,其值類型由返回結果決定。根據(jù)方法構造原理三,可知該方法屬于有進有出型方法。構造見上右代碼。
構造步驟(三):對于方法構造要素三,如何求的問題,則屬于面向過程的設計思想,直接體現(xiàn)一個問題的算法的問題,其難易程度取決于實際問題的難度,它由程序設計的三種基本結構構成,即順序結構、選擇結構和循環(huán)結構。在實現(xiàn)過程中可充分利用三種結構完成設計過程。可將入口參數(shù)作為已知條件進行算法設計,其算法如下:
根據(jù)此算法,可以利用c#語法規(guī)則寫出實現(xiàn)代碼,如下所示:
3、結語
本文從方法的構造特點總結出了方法的構造原理,將類中方法的實現(xiàn)上升到了理論高度,指導初學者完全理解和掌握方法,從一般問題人手將具體問題抽象出一個個的方法,此設計體現(xiàn)了模塊化的程序設計思想,提高了代碼的可重用性及開發(fā)效率。此一切皆緣于方法的實現(xiàn)。