İçeriğe geç

Swift ile class protocol kullanımı

Merhabalar bu yazımda Swift ile birlikte dilin yapısında bulunan ve önemli bir yere sahip olan protokollerin class eki ile kullanılması ne anlama gelir. Bunu göstereceğim.

Protokol yapısını çoğu yazımda bahsetmiştim. İOS ve macOS vs. kütüphaneleri protokol yapısı ile yazılmıştır ve mantık olarak çoğu nesne kullanım bu mantıkla çalışır. Bunların detayına tekrar girmeyeceğim.

Belirlediğiniz protokol isminin yanında yer alabilen class değimi protokole sadece sınıf türü ile birlikte kullanım özelliği sağlar. Ve diğer yapılarda (Struct,Enum) çağrılamazlar. Yazacağımız protokolleri sadece modellediğimiz sınıf ile birlikte kullanıcaksak bu değimi kullanmamız iyi olacaktır.

Aşağıda yazdığım örneği inceleyebilirsiniz. Gördüğünüz gibi struct ile kullanırsak hata vermekte.

protocol prot: class {
    var name:String {get}
    var age:Int {get}
}


class A:prot {
    
    var name: String
    var age:Int
    
    init(name:String,age:Int) {
        self.name = name
        self.age = age
    }
    
}

class B: A {
    
    override init(name:String,age:Int) {
     
        super.init(name: name, age: age)
        
    }

    convenience init () {
        self.init(name: "Kenan", age: 21)
    }
    
}


struct ST:prot { // error
 
 var name:String
 var age: Int
 
 }
 
 var bObj = B()
 bObj.name
 bObj.age

 

 

 

 

Tarih:SwiftSwift 3

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca