2012-05-06 15 views
-1

Можно создать дубликат:
What do the plus and minus signs mean in Objective C next to a method?Что такое + реализация методов?

Поскольку я начал программирование в Objective C, я методы реализации, как это:

-(void)doSomething 

Недавно я видел это в часть исходного кода:

+(void)doSomething 

В чем разница между + и - и что такое +?

+0

Методы экземпляра начинаются с методов класса с + –

ответ

4

Методы, начинающиеся с +, являются методами класса; то есть они не вызываются на реальные объекты (экземпляры класса), а скорее на самом классе.

+0

Так в чем же разница, если вызывать его для самого класса, а не для объекта? – CoreCode

+1

@CoreCode вы не можете вызвать методы экземпляра класса. Для использования этих методов необходим экземпляр класса. –

+0

Экземпляры вызываются на объект; то есть они могут вести себя по-разному для каждого экземпляра того же класса, когда значения структур данных в двух экземплярах различны. Но метод класса всегда будет делать то же самое (для тех же аргументов и если никакие статические переменные, связанные с этими методами, не изменяются) при вызове в одном конкретном классе. –

0

Методы с типом «+» перед возвратом указывают, что существуют такие статические методы (он существует без создания экземпляра объекта этого класса). Методы с «-» связаны с отдельными объектами.

+0

Обычно программисты Objective C называют их" класс методы ", а не" статические методы ", как в Java. – echristopherson

+0

Да, я знаю .. но я говорю аналогичным образом. На самом деле методы класса такие же, как статические методы, такие как C#, java, C++ и т. д. ;-) – innuendoreplay

Смежные вопросы