Mobil Programlama

iOS

DERS PROGRAMI
iOS 101 Ders Programı

Protokoller (Protocols)

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

 

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)]