我需要一個關於「委託」如何在編程中起作用的簡短描述,最好用一個句子。更好地使用類比需要「委託」的簡明定義
回答
我能想到的最好的比喻來自C術語,它是「指向函數」。
這個想法是,你需要能夠調用一段代碼,但你要調用的那段代碼直到運行時才知道。所以你使用「委託」來達到這個目的。
A型保險箱function pointer。
委託包裝的方法成型安全對象引用一個啤酒開瓶器包裝在可反覆使用爲不同種類的啤酒瓶的一個方便的工具(beer opener)的方法(opening beer)的方式。
有爲啤酒開瓶器定義的輸入,certain type of bottle和力量(你的手)。它擁有形式始終相同的行動的關鍵。同樣,爲委託定義了輸入,該輸入將密鑰(契約)保存到具有特定輸入(表單)的操作(顯示錶單)中。
注:這是不是99瓶啤酒;)
注(2):你可以open a beer without a beer opener,你可以使用的方法(甚至是其參考)沒有代理以同樣的方式。這只是混亂和不太清楚,但它可以是更多的樂趣,雖然。
委託是引用方法的類型。
一個代表就像一個實習生,就像你在說「嘿,我需要一個實習生給我來一杯咖啡。」
幸運的是,你會得到一個能夠執行「給我一杯咖啡」的人。不同的實習生可能會以不同的方式執行該任務,例如,可能會用完星巴克。另一個人可能會跑來跑去,直到她在大樓的某個地方找到一個非空的咖啡壺,然後給你倒杯。
更妙的是使用類比
委託是喜歡暴力。如果他們還沒有解決你的問題,那麼你沒有足夠的使用。好吧,這個玩笑是not original,所以告你。
認真地現在。代表們就像......代表。由此得名。什麼是現實生活中的代表? 代表是代表另一位代表行事的人。你代表代表工作給他們,他們執行這項工作。你想交易XYZ公司的50股股票,你不要到交易大廳去親自動手,而是將這項工作委託給你的經紀人爲你做;他們如何做到這一點,只要完成就不在乎。經紀人是你的代表;他們代表你完成工作。
委託是代表按需執行工作的對象。你創建一個能完成特定工作的代表,當你想完成這項工作時,你要求你的代表爲你去做。
- 1. 需要發佈UIWebView委託?
- 2. 已定義委託
- 3. 需要自定義簡碼
- 4. 爲什麼委託聲明需要提到標識符?
- 5. 兩個定義委託
- 6. 定義事件委託
- 7. 聲明委託人
- 8. 需要一個簡短明確的「依賴屬性」的定義
- 9. 我需要一個委託類?
- 10. 自定義協議的委託方法不是要求
- 11. Swift中的自定義委託方法
- 12. 自定義UIView的tableView委託方法
- 13. iPhone SDK中的委託定義
- 14. 使用簡單委託
- 15. 使用委託聲明
- 16. 在線委託聲明(C#)
- 17. 聲明形式委託
- 18. 委託聲明困境
- 19. 用戶定義委託不工作?
- 20. Proble調用自定義委託方法
- 21. 自定義UICollectionView數據源和委託
- 22. 自定義UIAlertView無委託回調?
- 23. 自定義委託爲空iOS
- 24. 自定義委託方法不呼叫
- 25. 如何根據VS2013的委託定義生成C#委託,方法等?
- 26. Objective-C 10.10 NSApplication委託不能調用委託類中定義的方法
- 27. 需要一個(簡單)的SQLite聲明
- 28. 枚舉的委託方法聲明
- 29. 如何在運行時定義委託類型(即動態委託類型)
- 30. 警告設定的委託
+1,不能得到更簡潔:) – 2010-07-21 20:41:45
委託也可能包含對對象的引用,所以你可以指向一個特定類的實例中的函數/方法。一個函數指針本身並不允許:) – dtb 2010-07-21 20:52:43
在拋出這個答案之前,只要確定你知道什麼類型安全的方法和函數指針。 – 2010-07-21 20:56:44