Objective-C programlama dilinde sınıf ve nesne kavramları anlatılıyor Objelerin işleyişini ve nesne yönelimli programlamayı öğrenin Temel seviye için sınıf ve nesne kavramlarının önemi hakkında bilgi edinin!

Objective-C programlama dilinde sınıf ve nesne kavramları, programlama yaparken kullanılan temel unsurlardan biridir. Sınıf kavramı, nesne kavramı ve bu kavramların birbirleriyle olan ilişkisi birçok programlama dili için geçerli olsa da Objective-C'de bu kavramlar ön plana çıkarılmıştır. Bu makalede, Objective-C'de sınıf ve nesne kavramlarına dair detaylı bir anlatım sunulacaktır.
Sınıflar, bir programda kullanılacak olan nesnelerin bir şablonu olarak düşünülebilir. Yani, sınıflar belirli bir amaç için oluşturulmuş nesnelerin yapısını tanımlar. Sınıflar sayesinde nesnelerin yapısı ve özellikleri belirlenebilir. Nesneler ise sınıfların örnekleridir ve sınıf yapısına uygun olarak oluşturulurlar. Nesneler, sınıflar sayesinde ortaya çıkar ve belirli bir amaç için kullanılırlar.
- Objective-C'de sınıflar, @interface ve @implementation blokları arasında tanımlanır.
- Sınıflar, özellikleriyle beraber yöntemleri de tanımlar. Bu sayede sınıfların davranışları belirlenmiş olur.
- Nesneler, belirli bir amaç için oluşturulduktan sonra, sınıfın yöntemleriyle işlem yapabilirler.
Sınıf Kavramı
Objective-C programlama dilinde sınıf kavramı oldukça önemli bir yere sahiptir. Sınıflar, birçok nesnenin özelliklerinin ve davranışlarının tanımlandığı temel bir yapı taşıdır. Bir sınıf, farklı nesnelerin belirli özelliklerini bir araya getirerek bir şablon oluşturur ve nesneler üretmek için kullanılır.
Bir sınıfın tanımı, @interface ve @implementation anahtar kelimeleriyle yapılır. @interface anahtar kelimesi ile sınıfın ismi, üyesi değişkenleri ve metotları tanımlanır. @implementation anahtar kelimesi ise sınıfın metotlarını ve özelliklerini içerir.
Ayrıca, bir sınıfın özellikleri, public, private ve protected şeklinde üçe ayrılır. Public özellikler sınıfın her yerinde erişilebilirken, private özellikler sadece sınıf içinde kullanılabilir. Protected özellikler ise sınıfın kendisi ve türetilmiş sınıflar tarafından erişilebilir özelliklerdir.
Bir sınıfın kullanımı, oluşturulan nesnenin değişkenlerinin ve metodlarının kullanımına dayanır. Nesne oluşturulduktan sonra, istediğimiz değişkene atama yapabilir ve nesnenin metodlarını kullanabiliriz. Ayrıca, Objective-C sınıfları kullanarak, basit programlardan karmaşık veritabanı ve internet işlemleri gibi daha büyük uygulama geliştirme süreçlerine kadar birçok farklı alanda kullanılabilir.
Nesne Kavramı
Objective-C, nesne yönelimli bir programlama dilidir. Bu nedenle, sınıf ve nesne kavramları çok önemlidir. Sınıf kavramı, kendi içinde tuttuğu özellikler, yöntemler ve diğer değişkenlerin birleşimi ile bir nesne oluşturma mantığı üzerine kuruludur. Özellikle sınıf, bir programda kodlama yapılarını düzenlemek için kullanılır.
Nesne kavramı ise, bir sınıftan üretilmiş örneklere verilen addır. Her nesnenin bağımsız bir bellek alanı vardır ve her bir nesne kendi özelliklerini ve yöntemlerini barındırır. Bu nedenle, bir sınıftan oluşturulan nesneler, kendilerine özgü verileri depolayabilirler.
Objective-C'de nesne oluşturma işlemleri oldukça kolaydır. Nesneler, önceden tanımlanmış bir sınıftan türetildiğinde oluşturulabilir. Bu işlem için önce sınıfın bir örneği oluşturulur ve ardından bu örnek üzerinden nesne oluşturma işlemi gerçekleştirilir.
init metodu ise, bir nesne oluşturma sürecinde sık kullanılan bir yöntemdir. Bu metot, nesne oluşturulduktan sonra tüm özellikleri başlatmak için kullanılır. Yani bir nevi nesnenin yapılandırılmasını sağlar.
Nesne ölçeklendirme özellikleri, sınıf yapısına göre farklılık gösterirler. Örneğin, bir sınıf kendisinden türetilen alt sınıflara özgü özelliklere sahip olabilir. Bu sayede aynı türdeki nesneler farklı özelliklere sahip olabilirler.
- Objective-C'de nesnelerin davranışları, genellikle yöntemler aracılığıyla tanımlanır.
- Yöntemler, nesnelerin farklı durumlarda nasıl davranacakları hakkında bilgi verir.
- Özellikler ise, nesnelerin birbirinden farklı özelliklerini tanımlamak için kullanılır.
Özellikle yöntemler, nesnelerin davranışını değiştirebilir ve nesnelerin diğer nesnelerle etkileşim kurmasına olanak tanır.
Sonuç olarak, Objective-C'de sınıf ve nesne kavramları oldukça önemlidir ve programlama sürecinde büyük bir rol oynarlar. Sınıf oluşturma, özellikleri tanımlama ve nesne oluşturma yöntemleri, Objective-C'nin temel özelliklerindendir. Dolayısıyla, bu kavramları anlamak ve doğru bir şekilde kullanmak, her Objective-C programcısının bilmesi gereken bir beceridir.
Nesne Oluşturma
Objective-C bir nesne yönelimli programlama dilidir ve bu nedenle nesne oluşturma işlemleri onun en temel öğelerinden biridir. Objective-C'de sınıflar kullanılarak nesneler oluşturulur. İlk adım olarak, nesne oluşturulacak sınıfın tanımlanması gerekmektedir.
Bir sınıf oluşturulduktan sonra, nesneler sınıftan türetilerek oluşturulur. Bunun için new anahtar kelimesi kullanılmaz, nesne oluşturma işlemi alloc ve init yöntemleri tarafından gerçekleştirilir.
Alloc ve init metotlarını kullanarak bir nesne oluşturma örneği aşağıdaki gibi görülebilir:
Objective-C Kod | Açıklama |
---|---|
ClassName *myObject = [[ClassName alloc]init]; | Nesne oluşturma işlemi. ClassName sınıfından türetilen myObject adlı bir nesne oluşturulur. |
- alloc: Nesne için bellek ayrılmakta olan bir metottur.
- init: Nesne tipindeki bir değerin ilk değeri atanmak için kullanılan ve geriye döndürülen metottur.
Bir sınıf birden fazla init yöntemi içerebilir. Nesnenin oluşturulması için hangi init yöntemlerinin kullanılacağına karar vermek için belirli kriterler olabilir. Örneğin, nesne oluşturulduğunda özellik değerleri belirtilmiş olabilir veya belirli bir değerle başlatılmak isteniyor olabilir.
Bir örnek olarak, aşağıdaki kodda sınıfın özellik değerleri argüman olarak verilerek nesne oluşturulmaktadır:
Objective-C Kod | Açıklama |
---|---|
myObject = [[ClassName alloc]initWithProperty:@"value1", property2:@"value2"]; | myObject adlı bir nesne oluşturulur ve özellik değerleri argüman olarak verilerek başlatılır.. |
Nesne oluşturma konusunda öğrenmeniz gereken diğer bir önemli konu ise sınıf yapısına göre nesne ölçeklendirme özellikleri ve kullanımıdır. Bu konuda sınıf dokümantasyonlarını incelemeniz ve örnek uygulamalar yapmanız yararlı olacaktır.
init Metodu
Objective-C programlama dilinde Nesne Yönelimli Programlama modelinin temelleri sınıf ve nesne kavramlarına dayanmaktadır. Sınıflar, nesne oluşturma sürecinde kullanılabilecek özellikleri, metodları, davranışları ve kalıtım ilişkilerini barındıran bir yapıya sahiptir. Nesneler ise sınıfların örnekleştirilmiş halleridir ve sınıflar tarafından tanımlanan nitelikleri bünyesinde barındırır.
Nesne oluşturma işlemi için objective-c dilinde öncelikle bir sınıf tanımı yapılması gerekmektedir. Bu sınıf tanımında, sınıfın adı, özellikleri ve varsa metodları yer almaktadır. Ardından nesne oluşturmak için yeni bir örnekleme ifadesi kullanılır ve bu ifade ile sınıftan türetilen bir nesne elde edilir. Nesne oluşturma sürecinde en sık kullanılan metotlar arasında 'init' metodu yer almaktadır.
'init' metodu, yeni bir nesne örneği oluşturma sürecinde çağrılan bir metottur. Nesne örneği oluşturulduğunda, nesne özelliklerine varsayılan değerler atanır ve özel bilgilerin yüklenmesi için 'init' metodunun kullanımı gereklidir. 'init' metodu, nesne oluşturma sürecinde kullanılan bir tekniğin adıdır ve sınıf yapılarına göre farklı işlevlerde kullanılabilir.
Örneğin, bir sınıf yapısı içerisinde nesnelerin adlarının otomatik olarak atanmasını istediğimizde 'init' metodunu kullanabiliriz. Bu sayede nesne oluşturma işlemi sırasında veri tabanından ad bilgileri çekilerek yeni bir nesne örneği oluşturulabilir. 'init' metodu, nesne özelliklerinin belirlenmesi, varsayılan özellik değerleri ataması ve özel bilgilerin yüklenmesi gibi işlevleri yerine getirir.
Nesne Ölçeklendirme
Nesne ölçeklendirme, Objective-C'de sınıfların yapısına göre nesnelerin boyutunu veya özelliklerini değiştirme işlemidir. Sınıflardaki özellikler nesnelere aktarılırken, nesneler de bu özellikleri kullanarak kendilerini özelleştirebilir. Nesne ölçeklendirme örneği olarak örneğin bir çember nesnesinde yarıçap değerinin artırılması gösterilebilir.
Bunun yanı sıra, nesne ölçeklendirme işlemleri görsel nesnelerde de yaygın şekilde kullanılır. Örneğin bir buton nesnesinin boyutunu veya yazı tipini değiştirmek bu işlemlere örnek olarak verilebilir.
Nesne ölçeklendirme işlemi, sınıfların yapısına ve özelliklerine göre farklılıklar gösterebilir. Sınıfların yapısına uygun olarak nesne ölçeklendirme işlemi yapmak, nesnelerin doğru şekilde çalışmasını sağlar. Bu nedenle, sınıf yapısı tasarlanırken nesne ölçeklendirme işleminin de dikkate alınması gerekmektedir.
- Nesne ölçeklendirme işleminde, sınıfın özellikleri dikkate alınarak nesnenin boyutu veya özellikleri değiştirilir.
- Görsel nesnelerde de yaygın şekilde kullanılan bu işlem, buton veya text nesnelerinin özelliklerini değiştirme işlemini de kapsar.
- Nesne ölçeklendirme işlemi, sınıf yapısına ve özelliklerine göre farklılık gösterir ve sınıf yapısı tasarlanırken dikkate alınması gereken bir yapıdır.
Nesne Davranışları
Nesneler, Objective-C programlama dilinde davranışları ve işlevleri belirlemek için kodlama yöntemleri kullanır. Bu davranışlar, nesnelerin özelliklerine ve sınıf yapılarına bağlı olarak farklılık gösterir.
Bir nesnenin davranışlarını belirlemek için kullanılan yöntemlere genellikle "metod" adı verilir. Nesne üzerinde çalışan bir kod parçası olarak da adlandırılabilirler. Örneğin, bir "Kitap" sınıfı içinde "YazarAdiYazdir" adında bir metod oluşturabiliriz. Bu metod, kitabın yazarının adını yazdırır ve bu davranışı taşıyan bir nesne oluşturulabilir.
Bir başka davranış özelliği ise "özellikler"dir. Bu özellikler, bir nesnenin sınıf yapılarına göre belirlenebilir. Örneğin, bir araba sınıfının hız özelliği ve bu özelliği belirlemek için kullanılan "setHiz" ve "getHiz" metodları olabilir.
Bir nesneye özellik eklemek için "setProperty" ve "getProperty" gibi metodlar kullanılabilir. Bu metodlar, nesnenin özelliklerini değiştirebilir ve bu özelliklerin kullanım alanını genişletebilir.
Nesne davranışları, nesnenin sınıf yapılarına ve özelliklerine göre belirlenir. Bu davranışları kodlama yöntemleri kullanarak belirlemek, üretilen nesnelerin işlevselliğini arttırır ve daha karmaşık bir yapı oluşturur.
Metodlar
Objective-C programlama dili kullanılırken, nesnelerin davranışları da önemlidir. Nesnelerin davranışlarını belirlemek için yöntemler kullanılır. Bu yöntemler, istenen davranışları gerçekleştirmek için tanımlanır ve nesnelerin özellikleriyle birlikte kullanılırlar.
Nesnelerin yöntemleri, sınıf yapısına göre tanımlanır. Bir sınıf içinde birden fazla yöntem tanımlayabilirsiniz. Yöntemler, nesnelerin işlevlerini yürütmelerine olanak tanır. Nesne yöntemlerinin kullanımı, hataları önlemek ve kodların daha kolay anlaşılması için oldukça faydalıdır.
Örneğin, bir nesnenin pencere ismini değiştirmek isteyelim. Bunun için nesne yöntemleri kullanılır. Yöntemler, nesneye özgü işlevleri gerçekleştirmek için kullanılırlar. Ayrıca, yöntemler bir nesnede değişiklik yapmak için kullanılabilirler.
Yöntemlerin kullanımı, çağrılması gerektiği zaman sadece çağrıldıkları noktada çalışırlar. Bu sayede, kodların gereksiz yere işlemesi engellenir ve programın performansı artırılır. Bu yöntemler, bir nesnenin işlevlerini kolayca belirlememizi sağlar ve programlama işlemlerini daha da rahatlaştırır.
Nesnelerin yöntemleri, özellikle sınıfları ve nesneleri birbirinden ayırmak için kullanılırlar. Bu sayede, programlama işlemleri daha da kolaylaşır ve hataların oluşması engellenir.
Sonuç olarak, Objective-C'de nesnelerin davranışları için yöntemler oldukça faydalıdır. Bu yöntemler sayesinde, nesnelere özel işlevler kolayca gerçekleştirilebilir ve programlama işlemleri daha da hızlandırılır. Nesne yöntemleri, sınıfların ve nesnelerin belirgin bir biçimde tanımlanmasını sağlayarak programlama işlemlerini daha da kolaylaştırır.
Özellikler
Objective-C programlama dilinde, nesnelerin özellikleri vardır. Bu özellikler, nesnelerin belirli bir durumda veya koşulda nasıl davranacaklarına dair bilgi sağlar. Nesnelerin özellikleri, özelliği tanımlayan değişken türü ve tanımlandığı sınıf tarafından belirlenir.
Özellikleri, değiştirilebilir veya değiştirilemez olabilir. Değiştirilemez özellikler, sınıfın yapısına göre tanımlanır ve nesnenin yaşam döngüsü boyunca sabit kalır. Değiştirilebilir özellikler ise nesne özellikleri değiştirilebilir.
Objective-C'de, özellikleri belirlemek ve kullanmak için aşağıdaki yöntemler kullanılır:
- @property: Bu özellik, sınıf için tanımlanan bir değişkenin özelliği belirler.
- @synthesize: Bu özellik, sınıfta tanımlanan @property özelliğinin değişkene atanmasını sağlar.
- Getter: Bu özellik, nesnenin özelliğinin çağrılmasını sağlar.
- Setter: Bu özellik, nesnenin özelliğinin değerinin ve durumunun değiştirilmesini sağlar.
Özellikler, ayrıca sınıflar arasında kalıtım yaparken de kullanılır. Bu sayede, sınıfın genişletilmesi veya yapısının değiştirilmesi gerektiğinde, kalıtım yoluyla yeni özellikler eklemek mümkün olur.
Kalıtım Kavramı
Objective-C programlama dilinde sınıf ve nesne kavramlarının yanı sıra kalıtım kavramı da oldukça önemli bir yer tutmaktadır. Kalıtım kavramı, bir sınıfın başka bir sınıfın özelliklerini miras alması anlamına gelmektedir. Bu sayede kodun tekrarını engelleyebilir, daha iyi organize edilmiş ve genişletilebilir bir kod yazabilirsiniz.
Objective-C'de kalıtım için "extends" yerine "inherits" kullanılmaktadır. Miras almak istediğiniz sınıfı "parent class" veya "superclass", miras alan sınıfı ise "subclass" veya "child class" olarak tanımlayabilirsiniz. Bu şekilde oluşturulmuş sınıflar arasında "is a" ilişkisi bulunmaktadır. Örneğin, bir araba sınıfı ve bu sınıftan miras alan bir spor araba sınıfı düşünelim. Spor araba sınıfı, aynı zamanda bir araba sınıfıdır ve bu nedenle "is a" ilişkisine sahiptir.
Kalıtım Türleri | Açıklama |
---|---|
Single Inheritance | Bir sınıfın sadece tek bir sınıftan özelliklerini miras alması |
Multi-level Inheritance | Bir sınıfın, bir sınıf tarafından miras alınan özellikleri tekrar başka bir sınıfa miras vermesi |
Hierarchical Inheritance | Birden fazla alt sınıfın, aynı üst sınıftan özelliklerini miras alması |
Multiple Inheritance | Bir sınıfın birden fazla sınıftan özelliklerini miras alması (Objective-C'de bu tür desteklenmemektedir) |
Kalıtım kavramı, kodun yeniden kullanılabilirliğini arttırırken, aynı zamanda daha az kod yazmanızı sağlar. Bu sayede kodunuzu daha kolay yönetebilir ve daha az hata yaparsınız. Ancak, kalıtımın kötü kullanımı, kodunuzu karmaşık hale getirebilir ve bakımını daha zor hale getirebilir. Bu nedenle, kalıtımı doğru kullanmak ve gereksiz özellikleri kalıtımdan hariç tutmak önemlidir.
Kalıtım Türleri
Objective-C programlama dilinde, kalıtım kavramı, bir sınıfın başka bir sınıftan miras alması işlemidir. Kalıtım türleri, tek yönlü, çoklu ve miras alınmış arayüzler olarak üçe ayrılır.
Tek yönlü kalıtım, bir sınıfın yalnızca bir üst sınıftan özelliklerinin miras alınmasıdır. Çoklu kalıtım ise bir sınıfın birden fazla üst sınıftan özelliklerini miras almasıdır. Miras alınmış arayüzler ise bir sınıfın birden fazla arayüzden özelliklerini almasıdır.
Kalıtımın örnek kullanımları, özellikle büyük projelerde oldukça yaygın olarak kullanılır. Örneğin, bir video oynatıcı sınıfı yarattığınızı varsayalım. Bu sınıf, farklı video dosyaları formatlarını açabilmesi için özellikle yazılmış olan bir sınıftan miras alabilir. Bu sayede, gelecekte eklenmesi planlanan yeni video formatlarına kolayca uygun hale getirilebilir.
Tablo halinde kalıtım türleri ve kullanımları şöyle gösterilebilir:
Kalıtım Türü | Kullanımı |
---|---|
Tek Yönlü Kalıtım | public class AltSınıf : ÜstSınıf |
Çoklu Kalıtım | public class AltSınıf : ÜstSınıf1, ÜstSınıf2, ÜstSınıf3 |
Miras Alınmış Arayüzler | public class AltSınıf : IAyarlar, IGösterim |
Bu tablo, kalıtım türlerinin kullanımı konusunda daha net bir anlayış sağlayabilir. Kalıtım kullanımı, programcılarına modüler olarak tasarlamaları için daha fazla imkan sunar. Bu, kodun yeniden kullanılabilirliğini en üst düzeye çıkarır ve programlama sürecini büyük ölçüde hızlandırır.
Kalıtımın Özellikleri
Kalıtım, bir sınıfın başka bir sınıftan özelliklerini miras alarak oluşturulmasına denir. Bu sayede, yeni bir sınıf oluşturmak için tekrarlayan kodlardan kaçınılır ve zaman kazanılır. Aynı zamanda, kalıtım sayesinde programlama dilinde kodların yeniden kullanılabilmesi sağlanır.
Objective-C'de kalıtımın özellikleri, bir sınıfın özelliklerini başka bir sınıfa iletmek ve bu sınıfa yeni özellikler eklemek için kullanılabilir olmasıdır. Böylece, bir sınıfın özelliklerinin tekrar tekrar tanımlanması yerine yeni bir sınıf türü oluşturulabilir.
Kalıtımın kullanılması, kod yazma sürecini hızlandırır ve programlamada önemli bir yer tutar. Kalıtımla birlikte, kodlama işlemleri kolaylaşır ve hata payı azaltılır. Ayrıca, kalıtım özelliği sayesinde yeni bir sınıf türü oluşturmak için tekrarlanan kodlardan kaçınılabilir.
Kalıtım kuralları dizisi de kalıtımın özellikleri arasında yer alır. Bu kurallar aracılığıyla, bir sınıfın özelliklerini başka bir sınıfa geçirmek mümkündür. Örneğin, bir üst sınıf, alt sınıfın özelliklerini barındırabilen bir ana sınıf yapısı oluşturulabilir.
Sonuç olarak, Objective-C'de kalıtımın özellikleri, yeni bir sınıf türü oluşturmak için tekrarlanan kodlardan kaçınmayı ve programlama sürecini kolaylaştırmayı sağlar. Kalıtım, hata payını azaltır ve programlama dilinde kodların yeniden kullanılabilmesini sağlayarak zaman kazandırır. Programlama sürecinde kalıtımın kullanılmasıyla birlikte, yeni bir sınıf türü oluşturmak için mevcut bir sınıfın özelliklerini kullanmak mümkündür.