從一個猜單詞的小程序開始---征服OOP的思惟方式01

記得剛開始學Java的時候看到MOOC上有個老師寫了一個猜數字的遊戲,出於興趣,小風就寫了一個猜單詞的小遊戲來描述html

OOP編程的思惟方式。PS:OOP(Object Oriented Programing,面向對象程序設計)能夠理解爲計算機編程的一種架構。編程

好了,不BB了。開始了!小程序

首先咱們按照常規的面向過程的思惟方式來分析這個程序。僅僅定義Demo一個類,該類中存放全部的邏輯代碼數組

因爲便於理解,程序先成員的位置上定義兩個字符串數組english和chinese。即一個用來存儲英文單詞,一個用來存儲單詞對應的中文意思。架構

注意順序保持一致。dom

接着,經過Math類中的random方法獲取一個範圍在0到english長度之間的隨機數i,而後將i做爲索引,打印出english[i];並返回chinese[i].函數

將此部分代碼封裝成show方法。以下所示:優化

接下來須要實現用戶經過鍵盤來輸入一個字符串,在Java中的util包下有一個Scanner類,該類是JDK5.0以後新增的特性,用來實現用戶從鍵盤輸入信息。設計

這裏咱們便須要用到Scanner類。所以也要在程序的開頭帶入該類。一樣這部分代碼咱們也將之封裝成方法。htm

有了用戶的輸入,下一步天然就是將用戶的輸入和show方法返回的值進行比較了,這裏有個代碼優化的小技巧,本身慢慢體會。

好了,基本的過程彷佛已經完成了!不過爲了程序的體驗,這裏我將用戶猜單詞的結果顯示單獨封裝成一個 方法

緣由是:你想一想,考試的時候你每作一道題就可以知道你的答案對不對麼?因此我這裏將用戶猜的結果單獨封裝成一個方法,當須要作一個題就知道答案正不正確的狀況下

調用就能夠了。當要模擬考試的狀況時,直接根據judge方法返回的布爾值記錄分數便可,不調用該方法。

好了,程序到這裏就基本已經完成了。剩下的就剩下咱們的程序的入口main方法了。英語詞性縮寫在main裏面建立Demo類的對象d。而後經過d去按順序調用邏輯方法便可

代碼以下:

嗯!程序已經完成了。下面就能夠試試運行的結果了,下圖是我運行的結果:

嗯,還行,程序可以正常的跑起。不過我想了想,以爲彷佛有哪裏不對啊。通常的開發中,main方法裏含有大量的邏輯代碼貌似並不理智吖。因而下面來盡行改進!

將主函數中大量的邏輯代碼進行抽取,單獨封裝到一個成員方法中,接着直接在main方法中調用該方法便可。

看,這樣main方法中就只有一行代碼!這樣是否是很完美!

好了,以上就是以面向過程的思惟方式編寫的整個猜單詞的小程序,快去試試吧!

 

PS:因爲用的Java原本就是一種OOP語言,上述代碼的邏輯中其實也帶有一絲OOP的思想
 

下一篇文章我將用面向對象的思惟方式來用代碼描述這個小程序。

相關文章
相關標籤/搜索