1. 程式人生 > >從一個猜單詞的小程序開始---征服OOP的思維方式01

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

.cn min rand img lan targe 開始 分享 般的

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

OOP編程的思維方式。PS:OOP(Object Oriented Programing,面向對象程序設計)可以理解為計算機編程的一種架構。

好了,不BB了。開始了!

首先我們按照常規的面向過程的思維方式來分析這個程序。僅僅定義Demo一個類,該類中存放所有的邏輯代碼

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

註意順序保持一致。

接著,通過Math類中的random方法獲取一個範圍在0到english長度之間的隨機數i,然後將i作為索引,打印出english[i];並返回chinese[i].

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

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

這裏我們便需要用到Scanner類。因此也要在程序的開頭帶入該類。同樣這部分代碼我們也將之封裝成方法。

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

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

原因是:你想想,考試的時候你每做一道題就能夠知道你的答案對不對麽?所以我這裏將用戶猜的結果單獨封裝成一個方法,當需要做一個題就知道答案正不正確的情況下

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

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

代碼如下:

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

技術分享圖片

嗯,還行,程序能夠正常的跑起。不過我想了想,覺得似乎有哪裏不對啊。一般的開發中,main方法裏含有大量的邏輯代碼貌似並不理智吖。於是下面來盡行改進!

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

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

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

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

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

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