2011-01-14 72 views
3

我使用過類方法,甚至連同書籍一起寫下它們。 我聽說過他們被描述爲工廠方法。 我明白他們是在一個類本身上運行,而不是一個類的實例。 我也讀過他們,但我仍然不覺得我真的明白他們。類方法在iOS中如何工作?

你能否提供任何好的隱喻或關鍵區別來幫助我和他人理解類方法?

我的問題的一部分似乎是當你在一個類上操作一個類與一個類的實例之間的動態。這仍然是一個很滑的問題,在這個討論中似乎非常相關。

有人可以試圖將類方法與現實世界的隱喻聯繫起來嗎?

我向我的朋友們解釋了這種阻力,但沒有像這樣的科學背景。這並不完美,但它有很大幫助。

想象一下,流經管道的水暢通無阻。現在想象我們有一個蝶形閥(就像附圖所示)。讓我們關閉80%的閥門,讓水流過很少。該閥「像」電路中的電阻,水與電「相似」,管是電線。爲了增加電阻器的電阻值「like」逐漸關閉流水管道中的閥門。

有沒有辦法在汽車廠,花生醬三明治或類似的有形之間畫一個比喻?

感謝您的幫助。

-A

alt text

回答

5

認爲一個類的汽水機。罐(實例)通常是更有用的項目,但機器本身也是您與之交互的項目。當你在機器上按下某些按鈕(類別方法)時,它會給你罐頭。也可能有些按鈕會告訴你蘇打水的價格,或者退還你的硬幣,或者機器的創建者(你)認爲給機器按鈕的東西。該機器與罐頭絕對不同 - 它只是定義你可以得到什麼樣的蘇打水。

(明確:這是不實際的例子類實例的關係,蘇打水是不是蘇打水機的情況下,就像水是不實際的電力,但它是如何的一面很好的鏡子。涉及像Objective-C這樣的語言中的類和實例,並與之交互)。

+0

啊哈......謝謝......現在有道理。 – Aaronium112