回答
純對象語言是面向對象的最佳課程。
我可以建議的Java,Ruby或Smalltalk的
瞭解任何這些(從頭開始,而不僅僅是重寫C或Perl的),你知道OO。
所有邊做邊學。課程和書籍都很好,但底線是:編碼是關於編寫程序的;從那裏開始。我個人認爲另一件事非常重要:閱讀其他人的代碼!
我會用ruby,它比smalltalk更主流,並且比java有更豐富的語法。適合初學者
既然你問:)我Object Oriented Software Construction, 2nd Edition由伯特蘭·邁耶,Prentice Hall出版社瞭解到,1997年
邁耶是由於在很短的發佈,而其重點是學習一本書,從啓動程序:Touch of Class。這對學生來說應該是一個很好的選擇。
我注意到人們對學習材料的喜好差異很大。有些喜歡總結,教程,操作方法...我通過花時間學習完整的論文來學習複雜的主題。
真的很難自己學習。最好的機會是在工作場所旁邊的其他人旁邊學習,他們會幫助你完成任務並向你展示事情。
我可以推薦這本書。 http://squeakbyexample.org/它遠非完美,但它是免費的,並配有特別的吱吱聲版本,它經過優化,因此您可以快速找到代碼。我想,這些例子對於初學者來說很不錯。至少我很喜歡讀它。
面向對象的機制(即語法和語義,術語,它是什麼,它做什麼)非常容易。他們「爲什麼」和「哪裏」是困難的部分。我建議你只要在維基百科上學習快速和骯髒的機制(如果你還沒有的話),然後拿起一本關於設計模式的書。頭在先是一個很好的選擇。我不認爲你可以真正理解面向對象(或者真的有什麼事),除非你知道它在哪裏有用以及它要解決什麼問題。
在此之後,下一步就是從全新的角度來看待您每天使用您喜歡的語言所使用的API。您應該開始瞭解爲什麼在某些情況下使用面向對象技術會使API比僅當自由/靜態函數和普通的舊數據對象更有用。您可能還會看到OOP非常笨拙和過度使用的區域,而自由/靜態功能和普通舊數據對象可能是更好的解決方案。
最後,瞭解OO的某些方面是如何在較低級別上實現是很有用的。理解諸如虛擬函數表之類的東西,以及如何在純C中進行OOP,真的可以讓您深入理解什麼可以用它來實現,以及它所固有的折衷。
顯然,嘗試將您學習的內容整合到您編寫的代碼中。
- 1. 學習PHP的面向對象編程 - 不能扭轉陣列
- 2. 找一本書來學習面向對象的編程
- 3. 面向學習或改進面向對象編程(OOP)技巧的良好挑戰/任務/練習
- 4. Python面向對象編程練習
- 5. 學習沒有編程經驗的彙編程序
- 6. 學習線程編程有什麼好的資源?
- 7. 學習pycURL有什麼好的教程?
- 8. 有沒有很好的Grails示例應用程序來學習?
- 9. 有沒有更好的教程來學習symfony 1.4?
- 10. 學生課程和對象
- 11. Javascript學習課程問題
- 12. 有沒有辦法在PHP中編程100%面向對象?
- 13. 沒有第三方工具的任何好的資源來學習面向方面編程
- 14. 學習面向對象的繼承
- 15. 學習編程的好的音頻源?
- 16. 學習面向對象的好建議PHP
- 17. 有沒有任何PHP面向對象的編程實踐教程?
- 18. 面向方面編程和麪向對象編程有何區別
- 19. 在學習c#之前需要研究OOP(面向對象的C++編程)嗎?
- 20. 你會推薦哪些資源用於學習面向對象的編程(C#)?
- 21. 學習網絡編程有什麼好的資源?
- 22. 學習如何編程動畫有什麼好的資源?
- 23. 學習COM編程有什麼好的資源?
- 24. .NET Stream編程有什麼好的學習資源?
- 25. 學習HTML和學習編程語言有什麼區別?
- 26. 如何向初學者描述面向對象的編程?有一個很好的現實世界的比喻?
- 27. 面向對象編程
- 28. 面向對象編程(OOP)
- 29. Python:面向對象編程
- 30. Python面向對象編程
感謝您的鏈接,看起來不錯。 – 2009-01-26 21:08:55
@Christopher:是的,我覺得那個網站是金礦。 – GEOCHET 2009-01-26 21:10:25
這太棒了。謝謝! – 2009-01-26 22:00:28