Come già accennato nelle lezioni precedenti spiegherò solamente la sintassi del codice e no i concetti legati ad essi poiché questi tutorial sono destinati a coloro che sanno già programmare. Come si può intuire dal titolo oggi ho intenzione di mostrarvi come dichiarare una nuova classe e come dichiarare una variabile di istanza. Quindi creiamo una nuova applicazione e scegliamo come template command line tool
Come linguaggio scegliamo swift, ecco un primo esempio
import Foundation class Persona{ var età : Int var nome:String = "" var cognome:String = "" init(name:String, surname:String, age:Int){ nome=name self.cognome=surname self.età=age } func stampaInfo(){ println("Mi chiamo "+nome+" "+cognome+" ed ho "+String(età)+" anni") } } var per=Persona(name: "Mario", surname: "Rossi", age: 22) per.stampaInfo()
Il metodo init è semplicemente un metodo costruttore, ovviamente è possibile creare più metodi costruttori. Come possiamo notare creare una variabile d’istanza è veramente molto semplice basta fare: var nomeVariabile=Nomeclasse(), mentre per richiamare un metodo si utilizza la dot notation ovvero nomeVariabile.Metodo. Nel prossimo esempio creeremo 2 classi in maniera tale da mostrarvi come una classe eredita da una classe Padre. Le due classi avranno il nome di Poligono e Quadrato, la classe Quadrato come potete immaginare eredità dalla classe Poligono.
import Foundation//classe poligono
//non fa niente class Poligono{ init(){ } func calcoloArea()->Int{ return 0; } } class Quadrato:Poligono{ var latoQuadrato:Int//costruttore
init(latoQuad:Int){ self.latoQuadrato=latoQuad }// funzione per il calcolo del perimetro
func perimetro ()->Int{ return latoQuadrato * 4 }// override della funzione calcolaArea ereditata dalla classe padre Poligono
override func calcoloArea() -> Int {returnlatoQuadrato * latoQuadrato
} }// Variabile d'istanza
var mioQUadrato=Quadrato(latoQuad: 5)println ("il perimetro del quadrato è: "+String(mioQUadrato.perimetro()))
println ("l'area del quadrato è: "+String(mioQUadrato.calcoloArea()))
L’unica cosa interessante è l’override (l’override è l’operazione di riscrittura di un metodo ereditato)