我有一個朋友正努力學習OO編程(在計算機科學課上),主要是,我相信,由於他不瞭解「類型」和實際「實例」之間的相關性/差異。理解數據如何存儲似乎是一個問題。他知道變量,控制結構和一些算法,但我認爲理解範圍和在Java中定義對象的方式讓他感到困惑。最容易混淆的部分是「模板」部分,其中定義了方法和變量,但是由每個對象「擁有」。正如這篇文章所展示的那樣,即使我知道我正在向人們解釋這個概念,我也很難解釋這個概念。如何讓朋友停止思考全球並開始思考親屬?
所以我想知道的是,如何清楚地向他解釋實例和類(作爲一種類型,與實際數據)。我認爲他知道基本概念,但並不完全理解類型和數據之間的區別,以及數據如何傳遞。
更多信息:
這裏的那種混亂的他正經歷。我們正在重寫GridWorld中的一個Critter對象(可怕的AP測試對象)。無論如何,我們都想重新定義一些方法。他會最終嘗試使用方法作爲屬性(很可能是一個錯字,但也因爲像GetLocation()這樣的東西可能會令人困惑),或者他會嘗試對錯誤的變量使用方法,或者不使用方法正確的變量類型。
「Integer nameHere」和「nameHere Integer」之間的區別讓我覺得很困惑。當他應該做nameHere.equals()時,他可能會嘗試執行Integer.equals()。我向他展示API,但我認爲這只是令人困惑。
你怎麼解釋的類型和變量之間的差異,但不僅如此,但顯示一個變量都可以有其他變量的原因,如何當你寫
public getSomething()
{
return something;
}
您都可以從具體的數據你實例化的類,哦,順便說一下,每個單獨的對象都不一樣?
我該如何讓他停止思考「全球化」並開始思考「親戚」?你如何解釋「親戚」?