Objective-C Protocol

Kategoriler Objective-C’de bir sınıfın tanım dosyasına müdahale etmeden veya ondan kalıtımla yeni bir sınıf türetmeden o sınıfa yeni metot(lar) ekleme olanağı sunan dil özelliğidir. Diğer pek çok nesne yönelimli programlama dillerinde bunu yapmak için metot eklemek istediğiniz sınıftan kalıtımla yeni bir sınıf oluşturmalı, eklemek istediğiniz metotları bu yeni sınıf içerisinde tanımlamalısınız. Eklediğiniz metodu projenizde kullanmak için de oluşturacağınız nesnelerin tipi yeni sınıfınız olmalıdır. Eğer birden fazla sınıf için bu işlemi yapacak olursanız projenizin karmaşıklığı artar ve hangi sınıfın hangi sınıftan türediğini hatırlamak oldukça güç bir hal almaya başlar.
Örneğin, yapacağımız uygulamada NSString sınıfına ilkHarfiBuyut; metodu eklemek istiyoruz diyelim; eğer kategorileri kullanmadan bunu yapmaya çalışırsak önce Karakterler adında NSString sınıfının bir altsınıfını (subclass) oluşturmalı, tanımlayacağımız ilkHarfiBuyut; metodunu bu yeni sınıf içerisinde tanımlamalıyız. Daha sonra uygulama içerisinde stringleri NSString tipinde değil Karakterler tipinde belirtmeliyiz. Tahmin edebileceğiniz üzere bu işlem birden fazla sınıf için yapıldığında uygulama oldukça karmaşık ve zor anlaşılır hale gelecektir.
Kategorileri kullanarak ise; yerleşik NSString sınıfına müdahale etmeden ve/veya yeni bir Karakterler sınıfı oluşturmadan amacımıza ulaşabiliriz.


Kaynak: http://ferhatezizi.com/blog/etiket/objective-c-protocol/

Yorumlar

Popüler Yayınlar