工作需要快速适应 oo 编程,怎样快速适应 oo?用 python 合适吗?

工作原因,需要快速适应 oo 编程,之前虽然也用过 c++,但是自己感觉技能水平还很差,有没有什么快速提升的方法?用 python 学习 oo 合适吗?

当然我知道这肯定需要大量实践,但是从哪开始呢?希望大家能给点建议,接受推荐中英文网课和电子书。

我学oo的时候用得java7,够学院派

用了多久熟练?有什么建议吗?

quora 上有人推荐这本书:

https://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/0596007124#customerReviews

论坛里有人看过吗?这本书怎么样?

我刚点赞你就删贴,太快了吧 :joy:

工作应该会指定用哪种语言吧

:sweat_smile:怕误导你。

1 个赞

没事,说说你的经验也行。我是小白一个。

这本书不错,适合初学者,这本书用的是Java,用其他语言也行,但我觉得Java更容易理解一些。

1 个赞

http://worrydream.com/EarlyHistoryOfSmalltalk/

先上历史。

适应oo 最普遍的选择应该是 Java 或是 Python

如果你的C语言基础比较好 (你用过C++) 再加上你的工作环境中电脑配置比较高的话 Java 应该是合适的(**配置要高 配置要高 ** )

Python是一门脚本语言(现代意义上的脚本语言都已经有自己的虚拟机了 基本上和Java类似了) 如果你只是想试验OO的特性 或工作当中需要用到Python(需要了解大量的类库)或工作环境不允许你开GUI的话可以试试Python

Java和Python的生态都比较完善 Android也可以用Java来写 而亚马逊的云计算则用到了Python

关键是看你的工作要求 以及 你自己的职业规划(应该大于工作 还是应该小于工作呢?)

1 个赞

非常感谢您详细的解答,我其实 python 更熟一些

这个应该怎样理解?

理想与现实的权衡

合适的,Head First Python 这本也不错

1 个赞
  • 入门:《C++程序设计实例教程》 http://product.dangdang.com/22821598.html

    没什么名气,但非常好用的 C++ 入门教程。应该买不到,但网上能找到电子版。过一遍,就明白 OO 的核心概念了。

  • 进阶:《Beginning Android Games》 Beginning Android Games | SpringerLink

    自己从头写一个游戏引擎(只学 OO 的话,可以略过后面讲 3D 的章节),在这个过程中,可以体会到 OO 在实际应用中的美妙之处。过完一遍,实际解决问题时怎么应用 OO,心里就有底了。

  • 原理:研究一下 JavaScript 中是如何实现 class, extends, constructor 等等的,或者看一下 《SICP》 第三章

    看看一些相对简单的语言是怎么实现 OO 的,可以加深理解。

2 个赞

非常感谢大家的建议,我先看书吧,另外准备听一下 coursera 上的网课。

比较遗憾的是书和课程都是 java 导向的,我没有学过 java。

Python 的书也很多啊,但是不知道哪本最好

看来你是喜欢python了

你可以把这些书的目录合在一起 组成一本书

然后找oo相关的

是的,我喜欢 python,而且工作中也是要用 python

packt 出版的几本书好像评价还都不错

  • Mastering Python Design Patterns - Second Edition
    by Kamon Ayeva, Sakis Kasampalis
  • Python 3 Object-oriented Programming - Second Edition
    by Dusty Phillips
  • Mastering Object-oriented Python
    by Steven F. Lott

前两本好像可以作为最后一本的先导阅读。这几本都可以在网上找到免费(盗版)的 pdf,链接就不放了。如果有能力的话还是支持正版吧,正版还有代码示范和网页版电子书等福利。

我打算直接从 Mastering object-oriented python 开始看了,遇到不懂的再参考前两本。

有别人的源码

1 个赞