Home Testo Corso Swift Classi – Metodi

Classi – Metodi

582
0
Classi Swift

In questa lezione continuiamo a parlare delle Classi  e nello specifico dei metodi!

Nelle lezioni precedenti abbiamo visto a livello teorico cosa è una classe, un oggetto e l’istanza della classe. Abbiamo visto poi come creare una classe in Swift, i relativi attributi e come gestirli tramite l’Opzionalità e i costruttori.

Un metodo non è altro che una funzione che ci permette di effettuare delle operazioni utilizzando gli attributi/proprietà di una classe.

Possiamo quindi avere metodi con o senza parametri in entra o in uscita.

Vediamo un esempio dove creo una classe per gestire in modo semplicistico un conto corrente:

// Classe Clienti con Metodi

class Clienti {

    // Attributi
    let codice: String
    var saldo: Double?
    
    // Contruttore
    init (codice: String){
        
        self.codice = codice
    }

    // Metodo Versamento
    func versamento (importo: Double){
        
        guard let saldoPresente = saldo else{
        
            print("Ancora devi inizializzare la proprità Saldo")
            return
        }
        self.saldo! = saldoPresente + importo
    }
    
    // Metodo Prelievo
    func prelievo(importo: Double){
    
        guard self.saldo != nil  else{
        
            print("Ancora devi inizializzare la proprità Saldo")
            return
        }
        
        guard self.saldo! > importo else{
        
            print("Puoi prelevare massimo \(self.saldo!)")
            return
        }
        
        self.saldo! -= importo       
    }
    
    // Metodo Stampo
    func stampaSaldo(){
    
        guard self.saldo != nil  else{
            
            print("Ancora devi inizializzare la proprità Saldo")
            return
        }
        
    print("Il cliente (self.codice) ha un saldo di \(self.saldo!)€")
    
    }
}

Nell’esempio ho creato una classe chiamata Cliente con gli attributi/proprietà codice e saldo di tipo opzionale, ho creato il costruttore e infine i metodi per la gestione delle diverse operazioni da poter effettuare sul cliente, versamento con parametro in ingresso, prelevamento con parametro di ingresso e stampa del saldo di tipo void.

All’interno dei diversi metodi il codice per la gestione delle operazioni richiesta e i controlli da effettuare prima di procedere all’aggiunta o sottrazione dell’importo.

Ora vediamo come interagire con la classe e i sui metodi:

// Creazione di una istanza della Classe clienti con parametro obbligatorio
var francesco = Clienti(codice: "22222")

// Assegnazione di un saldo alla proprietà/Attributo
francesco.saldo = 1000

// Utilizzo del metodo Versamento
francesco.versamento(importo: 200)

// Utilizzo del metodo Prelievo
francesco.prelievo(importo: 100)

// Utilizzo del metodo Stampa
francesco.stampaSaldo()

Per prima cosa ho creato una istanza della classe chiamata francesco e tramite il costrutto ho assegnato la proprietà obbligatoria codice poi richiamando l’istanza francesco tramite il punto sono potuto accedere alle proprietà e metodi della classe.

Prima di chiudere questa lezioni ti ricordo alcune notazioni fondamentali:

Il nome di una classe comincia sempre con la Prima lettera Maiuscola. Questa è una delle regole più importanti della programmazione ad oggetti.

In questa maniera eviti di generare confusione tra ciò che è oggetto e ciò che non lo è, ad esempio: var  Clienti = Clienti()

  1. Le proprietà di una classe devono esclusivamente riferirsi all’argomento per cui è stata creata la classe.
  2. La classe Clienti non può avere come attributo una variabile Occhi perché non avrebbe molto senso.
  3. Le classi devono essere qualcosa di generale o di estremamente preciso, vie di mezzo non possono esisterne.
  4. Meglio creare molte classi rispetto a crearne una che ha al suo interno ha molte cose diverse.

Per qualunque dubbio o domanda scrivi un commento in questa lezione.