Objeye dayalı programlamanın en temel olgularından biri tabii ki sınıflar ve bu sınıflara ait oluşturduğunuz yeni nesneler. Bu sebeple yeni başlayan için çok önemlidir class ya da structure oluşturmayı öğrenmek. Class ve Structure ın başka dillerde de farkına değinmiştim, burada da çok farklı değiller. Structure tanımlarken, içinde tanımlayıp değer atadığınız değişkenleri, o structure (yapı) dan gelen nesneler ile tanımlarken değiştiremiyorsunuz. Bu sebeple değişebilir ve her nesnede farklılaşan değerlere sahip yapılar için Class (sınıf) kullanmayı tercih ediyoruz diyebiliriz. Mesela Oyuncu adlı bir sınıf oluşturalım ve buna isim, numara gibi değerler verelim:
class Oyuncu {
var isim: String?
var numara: Int = 0static var hepsi = [Oyuncu]()
class var gizli: Int {
return 77
}
func profil() -> String {
return "Ben \(self.isim), \(self.numara) numaralı oyuncuyum."
}
class func toplam() {
print("Toplam \(hepsi.count) kayıtlı oyuncu var.")
}
}
Oluşturduğumuz Oyuncu sınıfının isim ve numara dışında gizli adlı bir sabit bir değeri ve hepsi adlı tüm oyuncu sayısını tuttuğu bir değeri daha var. profil ve toplam metodları ile de bu sınıfla ilgili verileri kullanıcıya gösteriyoyruz. Mesela toplamı başta tek başına çalıştırırsak 0 ile döner ama yeni bir nesne oluşturup onu "hepsi" değerine eklersek bir daha bu toplam metodunu çağırdığımızda 1 dönecektir:
Oyuncu.toplam()var deniz = Oyuncu()
deniz.isim = "deniz dalar"
deniz.numara = 1
Oyuncu.hepsi.append(deniz)Oyuncu.toplam()
Burada "deniz" adında bir Oyuncu oluşturup onun değerlerini belirledim, sonra da denizi hepsi değerine kaydederek toplam kayıtlı oyuncu sayısını arttırmış oldum. Daha önce de dediğim gibi, swift kod denemelerinizi bu site üstünde yapabilirsiniz: RUN SWIFT