Site icon Kenan Atmaca | Blog

Swift Protocol Extension

swift

Merhabalar bu yazımda Swift ile Modern programlama anlayışlarından protocol oriented programing yapısında bulunun protocolleri extend etme ek olaylar methodlar veya içerik ekleme örneği vereceğim.

Yazdığımız belli başlı yapıda olan protokolleri Swiftin extension özelliği sayesinde extend edebiliyoruz.

protocol Human {
    
    var name:String {get}
    var gender:String {get}
    var age:Int {get}
    
    func sayHello()
    
}

struct A:Human {
    
    var name: String
    var gender: String
    var age: Int
    
    func sayHello() {
        print("hi :)")
    }
    
}


var hum = A(name: "Kenan", gender: "Male", age: 21)

hum.sayHello() // hi :)
hum.name // Kenan

extension Human {
    
    var country:String {
        return "Turkey"
    }
    
    func sayHello(){
        print("hello!")
    }
    
    func sayBay(){
        print("Byee!")
    }
}

hum.country // Turkey
hum.sayBay() // Byee!

Yukardaki yazdığım örnektede gördüğünüz gibi Extend edilmeden önce protocole bağlı değişkenleri Struct objesi yaratarak oluşturduk. Daha sonra extension özelliği ile yeni değişken ve fonksiyonlar ekleyebiliyoruz.