【问题标题】:Learning OO for a C Programmer [closed]为 C 程序员学习 OO [关闭]
【发布时间】:2012-09-09 19:23:49
【问题描述】:

大约 10 年来,我一直从事 C 专业编程,并且只使用 C,担任过各种角色。

正如预期的那样,我非常了解该语言的习语,除此之外还了解一些设计细微差别 - 哪些 API 要公开,谁调用什么,谁做什么,什么应该是可重入的等等上。我是在阅读“编写可靠代码”中长大的,它是早期的 C 版本,而不是基于 C++ 的版本。

但是,我从来没有用 OO 语言编程过。现在,我想迁移到为 iPhone(可能是 android)编写应用程序,所以想学习使用 Objective-C 并以适合专业程序员的能力使用它。

我该如何理解 OO 的内容?您对我的最小阅读清单建议是什么。

是否有一本书载有某种相对真实的世界示例 OO 设计 Objective-C?

此外,阅读您建议我阅读的源代码。

TIA

【问题讨论】:

  • 这在Software Engineering 上可能会更好。
  • 将您重定向到类似的问答 :) stackoverflow.com/questions/7571/…
  • 根据我的经验,我建议你先从一些 C++ 开始——而不是 Objective-C。通过这种方式,您将能够体验面向对象的编程,而无需学习新的结构和语法内容(您仍然需要学习新的概念和内容,但您也不必学习许多新的语法内容)。
  • @Mario,感谢您的建议。但是,我没有时间学习 C++。此外,语法并没有真正暗示。
  • @Tugrul,问题是关于学习Objective-C。我的问题是如何使用 Objective-C 学习 OO 范式。

标签: objective-c c oop


【解决方案1】:

尽管我要向您推荐的这本书并不是专门针对 Objective-C 的(它涵盖了 OOP 的所有概念,而没有深入研究任何特定语言),但它可能是我读过的关于该主题的最好的书初学者需要介绍这个主题,这对我很有帮助!

这本书是: The Object-Oriented Thought Process

我喜欢这本书,因为它假定您完全没有任何 OOP 知识,但是在基本的编程概念上浪费时间并不枯燥。它使您从过程范式轻松到 OO 范式。如果作者开始使用技术术语,他肯定会先解释清楚。语言通俗易懂,最重要的是这本书读起来不枯燥,没有使用繁重的学术语言。

这本书也很好地给你一些例子,让解释更清晰易懂。

【讨论】:

    【解决方案2】:

    请注意,我在这里推荐的书是 1991 年出版的(第 2 版)。

    Object Oriented Programming: An Evolutionary Approach 由 Objective-C 的创建者 Brad Cox 撰写,是他为向世界介绍他的语言而写的一本书,而那是一个不熟悉面向对象编程理念的世界。所以这本书很温和,介绍了所有的基本思想。

    Brad Cox 对 Objective-C 将如何提供真正强大的组件重用有一些想法,但事情并没有真正像他预期的那样发展。他仍然是个聪明人,如果你能看懂,我会推荐他的书。

    为了完整起见,我将第二个 tuğrul 的指针指向 https://stackoverflow.com/questions/7571/cocoa-and-objective-c-resources,它列出了所有现代书籍。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 2010-10-10
      • 1970-01-01
      相关资源
      最近更新 更多