猜數字遊戲:類的對象的區別

上一節課我們第一次領略了 OOP 的風采,於模棱兩可的類和對象究竟是什麼東西呢?這節課我們用一個簡單的小栗子來向你介紹。

嘗試解釋

我們說類和對象的關係是設計圖和產品的關係,就拿我們的房子來說,一棟樓肯定會有對應的設計圖,但設計圖絕不會只能對應一棟樓,至少一個小區肯定會用一套設計圖不是嗎?我們的“類”就是這個“設計圖”。我們用這個設計圖設計了對象的屬性、功能等等的一系列內容,然後通過實例化來產生這個類的對象。

比如我們新建了一個“汽車”的類,然後我們就可以實例化出不同的對象了,比如卡車是汽車,轎車也是汽車。

一個猜數字的小程序

我們來用一個具體的小程序像你說明類和對象的區別——一個遊戲主體的類,一個猜數字的玩家的類:

接下來是玩家的類:

兩個類都搞定了,但是編譯程序發現沒有任何動靜——沒關係,因為我們還沒有告訴系統程序的入口。

找到 main 文件,我們來吧遊戲主體實例化:

這樣,運行後就會有大概如下的結果——由於我們產生了隨機數,所以每次的執行結果都會完全一樣。

總結

你看,我們在 GuessGame 類中實際上生成了3個玩家的對象,但實際上我們都是從同一個類生成,我們把這三個玩家的對象叫做“實例“,它們都是 播放機 這個類產生的,但在實際的運行當中,由於它們的屬性各自不同,又不會完全一樣——這就是對象的差別。

 

課後題

這裡有一段被破壞了的代碼文件,我們還記錄著當時運行輸出的結果,現在需要你來把它補齊。

記得每一行只能寫一句代碼喲~否則就算是作弊了!

下面是代碼執行後的結果:

……對了,如果結果不是10,而是24,那代碼又該如何修改呢?

 

由...出版 R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

加入對話

2 註釋

您的電子郵件地址不會被公開. 必填字段標 *

  1. 進口基金會

    一流的迴聲 {
    變種數= 0
    FUNC你好() {
    打印(“hellooooo…..”)
    }
    }

    VAR E1 =回應()

    VAR E2 =迴聲()

    VAR X = 0

    然而X < 4 {
    e1.hello()

    e1.count + = X

    e2.count = e2.count + e1.count
    X + = 1
    }

    打印(e2.count)