iOS 102Başlangıç seviyesi derslerde iOS uygulama geliştirme ortamını detaylı olarak inceliyoruz.

Tüm Eğitimleri Aldın mı? Kendini sınamanın tam zamanı

Haydi Sınava Gir

Protokoller (Protocols)

Kategori : Mobil | Lisans : Creative Commons (by-nc-sa) | En son 16.05.2016 tarihinde güncellendi
Eğitmen : Geleceği Yazanlar Ekibi
Etiketler : swift protokoller swift protokols

 

Protokol, belirli bir işi gerçekleştirmek için gerekli metotlar, özellikler ve diğer gereksinimlerin bir planını tanımlar. Protokol, bu işi aktif olarak gerçekleştirmez bir anlamda işin tanımını ortaya koyar. İşin gerçekleştirimi ise bir sınıf, yapı ya da enumeration ile gerçekleştirilir.

Protokoller‌ sınıf yapı ve enumeration’lara benzer şekilde tanımlanır.

protocol Ad {

// Protokol tanımı

}



struct Yapı: Protokl1, Protokol2 {

// yapı tanımı

}



Bir sınıf, bir super sınıftan türemişse önce sınıf adı sonar super sınıf adı yazılır:



class Sınıf: SuperSınıf, Protokol1, Protokol2 {

// sınıf tanımı

}

 

ÖRNEK:

 

Aşağıda Tutar adlı, tut özelliğini tanımlayan bir protocol tanımlanmıştır:


 

protocol Tutar{

var tut: Double { get }

}



hesap adlı struct ise Tutar adlı protokolü kullanmaktadır:



struct hesap: Tutar {

var tut: Double

var miktar:Double

}

var a = hesap(tut:1000.0,miktar:50.0)

print("TUTAR=\(a.tut)")

print("MİKTAR=\(a.miktar)")

PROGRAMIN ÇIKTISI:

 

TUTAR=1000.0

MİKTAR=50.0

 

ANY VE ANY OBJECT SÖZCÜKLERİ

 

Swift, spesifik olmayan veri tipleri ile çalışmak için iki özel tip sözcüğü içermektedir; bunlar any ve anyobject sözcükleridir.

AnyObject, herhangi bir sınıf örneğini (nesnesini) temsil edebilir. Any sözcüğü ise fonksiyon tipleri hariç herhangi bir tipteki örneği temsil edebilir.

 

ÖRNEK

class Kitap{

var ad: String

var yazar:String

init(ad: String, yazar: String) {

self.yazar = yazar

self.ad=ad

}

}



let kitaplar : [AnyObject] = [

Kitap(ad: "Çankaya", yazar: "F.Rıfkı Atay"),

Kitap(ad: "İnce Memet", yazar: "Yaşar Kemal"),

Kitap(ad: "Sisler Bulvarı", yazar: "Attila İlhan"),

Kitap(ad: "Her Gece Bodrum", yazar: "Selim İleri")]



for nesne in kitaplar

{

let kit = nesne as! Kitap

print("KİTAP : \(kit.ad), YAZAR.. \(kit.yazar)")

}

 

PROGRAMIN ÇIKTISI

 

KİTAP : Çankaya, YAZAR.. F.Rıfkı Atay

KİTAP : İnce Memet, YAZAR.. Yaşar Kemal

KİTAP : Sisler Bulvarı, YAZAR.. Attila İlhan

KİTAP : Her Gece Bodrum, YAZAR.. Selim İleri

 

ÖRNEK

 

var nesne = [Any]()



nesne.append(56)

nesne.append(4.34)

nesne.append(2.71)



nesne.append("ankara")

nesne.append((6.0, 15.0))

print(nesne)

PROGRAMIN ÇIKTISI

 

[56, 4.34, 2.71, ankara, (6.0, 15.0)]