Swift’te aslında yarattığımız her şey bir objedir diyebiliriz. Örneğin bu tarz bir değer oluşturduğumuzda, biz aslında bir String objesi oluşturmuş oluyoruz.
let str = "String"
Bunu ilk başlarda fark etmemiş olabilirsiniz, çünkü genellikle yeni bir obje oluşturmak için oluşturacağımız objenin hangi sınıfta olduğunu tanımlarız. Örneğin aşağıda olduğu gibi bir String değeri tanımlayabiliriz.
let str = String()
Objelerin ne olduğunu anladığımıza göre artık (objelerdeki) metotların ne olduğundan bahsedebiliriz.
Metotlar, objemizi yaratmak için kullandığımız sınıfın içerisinde bulunurlar ve genellikle objede değişiklik(ler) yapmak ya da objedeki değerleri öğrenmek için kullanılırlar. Bunu tam olarak anlamak için az önce yaptığımız gibi bir String objesi yaratalım.
var str = "Adım Adım"
Burada tanımlamış olduğumuz String objesi çok fazla metot içermektedir. (Bu arada, eğer String ile alakalı daha fazla şey öğrenmek isterseniz bu yazımızı okuyabilirsiniz.) Biz de bu metotlar arasından “append” metodunu örnek göstermek için kullanacağız. (Bu metot, String değerimize yeni bir yazı eklemek içindir.)
str.append("Kodla")
Bu metodun çalıştığını görmek için tanımlamış olduğumuz değerin çıktısını alabiliriz.
print(str)
Kodumuzu çalıştırdığımızda String değerimizin değiştiğini görebiliriz.
Özellikler, tıpkı metodlar gibi objemizi yaratmak için kullandığımız sınıfın içerisinde bulunurlar. Metotlardan farklı olarak, bir objenin özelliklerini çağırırken sadece özelliğimizin adını yazarız, yani metotlarda olduğu gibi sonuna parantez eklemeyiz. (Bir metot ile özelliği sırf buna bakarak ayırabilirsiniz.) Ayrıca, özellikler, tıpkı objemizi yaratmak için kullandığımız sınıfın içerisinde bulunan objeler gibidir! Bu cümleyi daha iyi anlamak için yeniden bir String değeri yaratalım.
let str = "Apple"
Şimdi ise “count” özelliğini örnek göstermek için kullanacağız. (“count” özelliği, yazının karakter sayısını göstermektedir.) Burada dikkatinizi farklı bir yere çekmenizi istiyorum; “count” örneğini objemizin yanına yazarken otomatik tamamlama bölümünde “count” özelliğinin hangi değer tipinde olduğunu görebiliyorsunuz: Int.
İşte, özelliklerin kullandığımız sınıfın içindeki bir obje olduğunu anlatırken demek istediğimiz tam olarak buydu. Şu an kullanmakta olduğumuz “count” özelliği, yazımızın karakter sayısına göre değişen bir objeden başka bir şey değildir.
str.count: Int
Bu yazdığımız kodun çıktısını aldığımız durumda göreceğimiz şey, “count” objesinin kendisi olacaktır.
print(str.count)