Apple

Programmazione con Xojo da zero: moduli di classe ed estensioni

Continuiamo con il Corso di Programmazione con Xojo… e poiché, come già sapete, è un ambiente di sviluppo multipiattaforma, niente di meglio che continuare lo sviluppo del nostro progetto di esempio (Spese personali) questa volta… sotto Linux!

Esatto, i progetti creati con Xojo possono essere aperti dall’IDE da qualsiasi piattaforma supportata: macOS, Windows e Linux.

Potremmo anche sviluppare l’applicazione nell’IDE da macOS ed eseguirla in modalità debug su un computer remoto sulla nostra rete locale con un altro sistema operativo: Windows e Linux. Non è affatto male, vero?

Ma tornando a ciò che ci riguarda, questa volta espanderemo l’applicazione in modo che l’elenco generale ci mostri in una colonna aggiuntiva il totale accumulato per ciascuna delle categorie.

Come ricorderete, quando abbiamo implementato la lista gerarchica nel capitolo precedente, abbiamo visto come le spese sono state raggruppate per categoria, in modo da poter visualizzare ognuna di esse per vedere tutti i record (voci di spesa), nonché il importo associato a ciascuno di essi.

Tuttavia, sarebbe bello poter vedere qual è la spesa accumulata per la categoria senza dover spiegare e sommare da soli ciascuna delle spese. Ed è quello che potete vedere nel video che accompagna questo nuovo capitolo.

La questione importante in questo caso è che, per farlo, utilizzeremo due nuovi elementi forniti dal linguaggio di sviluppo Xojo. Uno di questi è Moduli e il secondo è Estensioni di classe.

https://youtu.be/me6sr9hdjm4

Moduli in Xojo

Puoi pensare a Moduli come a uno strumento fornito dal linguaggio di programmazione Xojo che ci consente di creare la nostra «libreria» di funzioni (metodi), proprietà, classi, altri moduli e, in definitiva, qualsiasi elemento supportato dal linguaggio..

Questo è importante perché la creazione di queste librerie o moduli ci offre un’enorme flessibilità.

Ad esempio, da un lato possiamo indicare che tutti gli elementi aggiunti al modulo hanno un ambito Global, il che significa che possiamo utilizzarli (invocarli, nel caso di metodi; o accedervi, se sono proprietà), da qualsiasi altra parte dell’app.

Implica anche che una libreria ben creata ci permetterà di usarla più e più volte in qualsiasi applicazione che sviluppiamo senza la necessità, quindi, di riscrivere lo stesso codice più e più volte.

Cioè, una volta aggiunta la funzionalità prevista nella libreria, sarà semplicemente sufficiente incorporare il modulo in qualsiasi altra app che si desidera creare… e utilizzare tale funzionalità.

Se desideri maggiori informazioni su cosa sono i moduli e su come utilizzarli, ti consiglio di dare un’occhiata a questa sezione della  documentazione online

Estensioni di classe in Xojo

Il secondo problema sono le estensioni di classe. Bene, lascia che ti spieghi. A volte capita che troveremmo interessante aggiungere funzionalità a una classe esistente.

Il problema è che potremmo non essere gli sviluppatori originali della classe in questione, il che significa che non abbiamo accesso al codice sorgente in modo da poterne modificare o «estendere» le funzionalità; proprio come accade, ad esempio, con le classi che trovi già disponibili nello stesso Xojo Framework, senza andare oltre.

Come possiamo fare allora in questi casi? Ebbene, la risposta sta nell’uso della parola chiave «Extends» all’inizio della definizione di un nuovo metodo (ad esempio in un Module).

In questo modo indichiamo al compilatore Xojo che detto metodo “estenderà” o “estenderà” la capacità del tipo di dato che indichiamo di seguito come primo parametro.

Una volta creato, potremo utilizzare questo metodo utilizzando la notazione a punti come se fosse un metodo originariamente aggiunto alla classe in questione.

Questo è qualcosa che vedrai molto più chiaramente nel video che accompagna questo capitolo del corso; Tra l’altro, perché questa è la tecnica che utilizziamo proprio per calcolare il totale accumulato di tutte le voci di spesa della stessa categoria: aggiungiamo un nuovo metodo in un modulo con “Estendi” che riceve come primo parametro un array di dati di tipo Spesa (Ricorda che questa è la classe che abbiamo creato per aggiungere nuove voci di spesa).

Quindi, il codice del metodo deve solo eseguire l’iterazione di ciascuno degli elementi dell’array e aggiungere i diversi importi, restituendo il valore totale come risultato della chiamata.

Come al solito, si può imparare di più sulla “ Estende ” parola chiave nella  documentazione in linea realbasic.

Prova a creare il tuo progetto di esempio, aggiungendo un modulo e uno o più metodi che estendono le capacità di diverse classi esistenti creando nuovi metodi nel modulo.

– 

Javier Rodriguez Ingegnere Xojo Twitter: @xojoes Facebook:  http://facebook.com/xojoes/  Scarica l'ultima versione da  www.xojo.com  Risorse Xojo in spagnolo:  https://docs.xojo.com/spanish

Post correlati

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba