Являются ли объекты такими же в Objective-C, как и в PHP? - PullRequest
0 голосов
/ 19 ноября 2010

Я собираюсь начать изучать Objective-C, и мне было интересно, совпадают ли концепции с PHP.Например, являются ли концепции в объектно-ориентированном PHP такими же, как Objective-C, такие как «Класс, Экземпляр, Сообщение, Метод, Переменная экземпляра, Наследование, Суперкласс / Подкласс и Протокол»?Если это так, то, я думаю, мне будет намного легче учиться и понимать, так как я уже знаю основы и основы объектно-ориентированного PHP.Или они полностью отличаются друг от друга?

Любая помощь и совет очень важны.Спасибо!

Ответы [ 3 ]

3 голосов
/ 19 ноября 2010

Это в основном одна и та же идея, но не реализация, так как большинство из них являются понятиями теории CS. Сообщения и протоколы не существуют в PHP. В PHP есть то, что большинство языков называют интерфейсом, похожим на протокол в Objective-C.

2 голосов
/ 19 ноября 2010

Все языковые конструкции "propper" OO должны быть по существу одинаковыми.Они всегда должны иметь все или подразделы следующего (и, возможно, большего).

  • класс / объект (совершенно другой)
  • метод (против функции)
  • метод видимости / контроля доступа (открытый, закрытый, защищенный)
  • конструктор
  • статические / переменные класса и методы
  • деструктор / финализатор
  • наследование (и часто множественное наследование)
  • интерфейс / протокол
  • абстрактный класс
  • переопределение
  • перегрузка

естьеще много терминов, связанных с вещами, которые являются скорее концептуальными, нежели языковыми, но это короткий (и достаточно неполный) список некоторых вещей, которые вы должны знать для программирования на ЛЮБОМ ОО-языке, стоит того.

Естьхороший список терминов в Википедии, чтобы помочь, если хотите.http://en.wikipedia.org/wiki/List_of_object-oriented_programming_terms

Я бы предложил прочитать о приведенных выше терминах, а также

  • Переменные экземпляра
  • Полиморфизм
  • Состав
  • Инкапсуляция

Если вы знаете свои определения ОО, переход с одного языка на другой намного проще, потому что у вас будет очень широкая основа, на которой вы будете стоять, и вам нужно будет только изучить тонкие различия(как при изучении любого нового языка после изучения нескольких, но в большей степени это касается концепций ОО).

0 голосов
/ 19 ноября 2010

Короткий ответ: «Да».Ответ средней длины написан Apple, и вы можете прочитать его здесь:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...