代码之家  ›  专栏  ›  技术社区  ›  three3

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

  •  0
  • three3  · 技术社区  · 14 年前

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

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

    3 回复  |  直到 14 年前
        1
  •  2
  •   Ricky Cook    14 年前

    所有的“propper”OO语言结构应该本质上是相同的。它们应该始终具有以下内容的全部或一个子部分(可能还有更多)。

    • 类/对象(完全不同)
    • 方法(vs函数)
    • 方法可见性/访问控制(公共、私有、受保护)
    • 构造器
    • 静态/类变量和方法
    • 析构函数/终结器
    • 继承(通常是多重继承)
    • 接口/协议
    • 抽象类
    • 超越
    • 超载

    有很多术语可以用来处理更概念化的东西,而不是语言特性,但是这是一个简短(而且相当不完整)的列表,列出了一些你应该知道的东西,这些东西对于用任何有价值的OO语言进行编程都是很重要的。

    如果你愿意的话,维基百科上有一个很好的术语列表。 http://en.wikipedia.org/wiki/List_of_object-oriented_programming_terms

    我建议你读一下上面的术语,以及

    • 实例变量
    • 多态性
    • 组成
    • 封装

    如果你知道你对OO的防御,那么从一种语言迁移到另一种语言要简单得多,因为你将有一个非常广阔的基础,只需要学习细微的差异(就像在了解了一些新语言之后学习任何新语言一样,但在OO概念方面更是如此)。

        2
  •  3
  •   Daniel A. White    14 年前

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

        3
  •  0
  •   Ryan    14 年前

    简短的回答是“是”。中等长度的回答是苹果写的,你可以在这里读到:

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