Usare i protocolli in Swift

Mattepuffo's logo
Usare i protocolli in Swift

Usare i protocolli in Swift

I protocolli in Swift definiscono una serie di proprietà e metodi per soddisfare un determinato compito.

Non hanno una implementazione, ma definiscono una interfaccia, che poi verrà implementata da una struct o da una classe.

Sostanzialmente sono le interfacce di uno dei tanti altri linguaggi OOP.

In questo articolo ne vediamo un esempio:

protocol Veicolo {
    var marca: String {get set}
    var targa: String? {get set}
    
    func viaggia(distanza: Int)
    func numeroPorte() -> Int
}

class Macchina: Veicolo {
    var marca: String = "ferrari"
    var targa: String? = "jjj"
    
    func viaggia(distanza: Int) {
        print(distanza)
    }
    
    func numeroPorte() -> Int {
        return 2
    }
}

var macchina = Macchina()
print(macchina.marca)
print(macchina.targa!)
macchina.viaggia(distanza: 500)
print(macchina.numeroPorte())

Come potete vedere abbiamo messo anche una proprietà opzionale, e due metodi.

Qui abbiamo usato una classe, ma vale la stessa cosa con una struct:

protocol Veicolo {
    var marca: String {get set}
    var targa: String? {get set}
    
    func viaggia(distanza: Int)
    func numeroPorte() -> Int
}

struct Macchina: Veicolo {
    var marca: String = "ferrari"
    var targa: String? = "jjj"
    
    func viaggia(distanza: Int) {
        print(distanza)
    }
    
    func numeroPorte() -> Int {
        return 2
    }
}

var macchina = Macchina()
print(macchina.marca)
print(macchina.targa!)
macchina.viaggia(distanza: 500)
print(macchina.numeroPorte())

Enjoy!


Condividi

Commentami!