Ereditarietà e overriding in Swift
Oggi vediamo un semplice esempio di ereditarietà e overriding in Swift.
Partiamo subito dalla classe base:
class Veicolo {
var numeroRuote: Int;
var tipoCarburante: String;
func desc() -> String {
return "Numero ruote: \(numeroRuote); Tipo carburante \(tipoCarburante)";
}
init() {
numeroRuote = 0;
tipoCarburante = "";
}
}
Ci sono due campi ed una funzione che ritorna la descrizione.
Qui sotto due esempi di implementazione:
class Macchina: Veicolo {
override init() {
super.init();
numeroRuote = 4;
tipoCarburante = "Benzina";
}
}
class Bicicletta: Veicolo {
override init() {
super.init();
numeroRuote = 2;
tipoCarburante = "Pedali";
}
override func desc() -> String {
return "Spinta di pedali: SI FATICA!";
}
}
Come vedete nel secondo caso (Bicicletta) abbiamo fatto l'overriding anche della funzione descrizione.
Richiamiamo il tutto così:
import Foundation
var macchina = Macchina();
print(macchina.desc());
var bici = Bicicletta();
print(bici.desc());
Enjoy!
swift overriding ereditarieta
Commentami!