Objective-C中的对象是否与PHP中的相同?

时间:2010-11-18 22:37:00

标签: php objective-c oop object

我即将开始学习Objective-C,我想知道这些概念是否与PHP相同。例如,面向对象PHP中的概念是否与Objective-C相同,例如“类,实例,消息,方法,实例变量,继承,超类/子类和协议”?如果是这样,我猜这将是我学习和掌握更容易,因为我已经知道面向对象PHP的基础和基础。或者它们彼此完全不同?

非常感谢任何帮助和建议。谢谢!

3 个答案:

答案 0 :(得分:3)

它们基本上是相同的想法,但不是实现,因为大多数是CS理论概念。 PHP中不存在消息和协议。 PHP具有大多数语言所称的接口,类似于Objective-C中的协议。

答案 1 :(得分:2)

所有“propper”OO语言结构应该基本相同。它们应该总是包含以下内容的全部或子部分(可能更多)。

  • class / object(完全不同)
  • 方法(对比功能)
  • 方法可见性/访问控制(公共,私有,受保护)
  • 构造
  • 静态/类变量&方法
  • 析/终结
  • 继承(通常是多重继承)
  • interface / protocol
  • 抽象类
  • 覆盖
  • 重载

对于更具概念性而非语言特征的事情,还有更多的术语,但这是一些简短(并且相当不完整)的一些事项列表,你应该知道用任何OO语言进行编程都值得一试。

如果您愿意,维基百科上有一个很好的小条款列表可以提供帮助。 http://en.wikipedia.org/wiki/List_of_object-oriented_programming_terms

我建议阅读上述条款,以及

  • 实例变量
  • 多态性
  • 组合物
  • 封装

如果你知道自己对OO的辩护,那么从一种语言转向另一种语言要简单得多,因为你将拥有一个非常广泛的基础,只需要学习细微的差异(就像在了解了一种语言后学习任何新语言一样)很少,但OO概念更是如此)。

答案 2 :(得分:0)

简短的回答是“是的”。中等答案由Apple编写,你可以在这里阅读:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html