Метод экземпляра или переменная применяются к этому экземпляру. Метод класса (классы в Objective-C не имеют переменных, хотя их можно моделировать различными способами) применяется ко всему классу.
Рассмотрим типичный Dog
класс, который происходит от класса Mammal
(и так далее на древе жизни). У конкретной собаки есть name
, collar
и owner
- это его свойства. Определенная собака может -bark
или -chaseBall
или -buryBoneInBackyard
- таковы ее методы.
Класс Dog
, с другой стороны, имеет разные методы. Класс Dog
имеет +globalPopulation
и может создавать себя с помощью фабричного метода +dogWithDNA:
. Класс Dog
будет иметь метод +isExtinct
, указывающий, вымер ли вид в целом (это, конечно, не так).
Вкратце: методы класса влияют на весь класс, в то время как методы экземпляра влияют на конкретный экземпляр класса.