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!
swift protocol class struct
Commentami!