有没有什么好的课程可以学习面向对象的编程?

时间:2009-01-26 20:59:12

标签: oop

我正在寻找一些关于面向对象编程的优秀课程。到目前为止,我已经编程了大约4年,但我不觉得我对OO有一个SOLID掌握。

你是如何学习的?

8 个答案:

答案 0 :(得分:2)

这一切都是边做边学。课程和书籍都很好,但最重要的是:编码就是编写程序;从那里开始。我个人认为的另一件事非常重要:阅读其他人的代码!

答案 1 :(得分:1)

答案 2 :(得分:1)

也许你会喜欢"Head First"方法。

答案 3 :(得分:1)

自从你问:)我是通过Bertrand Meyer,Prentice Hall,1997年与 Object Oriented Software Construction, 2nd Edition 学习的。

Meyer将在很短的时间内发表一本专注于从一开始就学习编程的书: Touch of Class 。这应该是学生的一个很好的选择。

我注意到人们对学习材料的喜好差异很大。有些像摘要,教程,操作方法......我通过花时间学习完整的论文来学习复杂的科目。

答案 4 :(得分:1)

OO的机制(即语法和语义,术语,它是什么,它做什么)非常容易。他们“为什么”和“哪里”是困难的部分。如果你还没有,我建议你在维基百科上学习快速和脏的机制,然后拿起一本关于设计模式的书。 Head First是一个不错的选择。我不相信你能真正理解OOP(或者说真的是什么),除非你知道它有用的地方以及它要解决的问题。

在此之后,下一步将是从您的新视角查看您每天使用自己喜欢的语言的API。你应该开始明白为什么在某些情况下使用OO技术会使API比一切只是免费/静态函数和普通旧数据对象更有用。您可能还会看到OOP笨拙和过度使用的区域以及自由/静态函数和普通旧数据对象可能是更好的解决方案。

最后,知道如何在较低级别实施OO的某些方面是有用的。理解像虚函数表这样的事情以及如何在纯C中进行OOP确实增加了一定程度的深度,使你理解用它可以实现什么和不能实现什么,以及它内在的权衡取舍。

显然,尝试将您学到的知识整合到您编写的代码中。

答案 5 :(得分:0)

纯对象语言是OO中最好的课程。

我可以推荐Java,Ruby或Smalltalk

了解其中的任何内容(从头开始,不仅仅是重写C或Perl),而且你知道OO。

答案 6 :(得分:0)

我会选择ruby,它比smalltalk更主流,并且具有比java更丰富的语法。适合初学者

答案 7 :(得分:0)

自己学习这个真的很难。最好的机会是在工作区与其他人一起学习,他将帮助您完成任务并向您展示正在进行的工作。

我可以推荐这本书。 http://squeakbyexample.org/它远非完美,但它是免费的,并附带一个经过优化的特殊吱吱声版本,因此您可以快速找到代码。我认为这些例子对初学者来说很不错。至少我很喜欢阅读它。