Lezioni classi quarte – Esempi di programmi Visual Basic.net

Posted on

Lezioni classi quarte – Esempi di programmi Visual Basic.net

Ultimo aggiornamento: 16/05/2019: File.

ARGOMENTI PRINCIPALI DELLA PAGINA: Gli Oggetti in Visual Basic, Ereditarietà, Polimorfismo, Eventi, Eventi e Grafica, Liste a puntatori, Alberi, File.


Prima d’iniziare rinfreschiamoci la memoria sull’uso dei vettori. Scarica vettore.

Vediamo come vengono utilizzati i sottoprogrammi. Vi ricordo che i sottoprogrammi si suddividono in ‘procedure‘ e ‘funzioni‘:

le procedure possono avere o meno parametri di input e non restituiscono output al programma chiamante;

le funzioni anch’esse possono avere o meno parametri di input ma, sicuramente, devono restituire output al programma chiamante.

Esempio di funzione: esempioFunzione. Esempio di procedura: esempioProcedura.

Vediamo, adesso, come si ‘naviga’ tra le Form: esempioDiNavigazioneTraLeForm

 Abbiamo studiato la classe ARRAYLIST. Vediamo un programma che gestisce tale classe Esempi_Arraylist

Vediamo qualche esempio sull’uso del controllo “Timer”:contatoreTimer. Giochiamo con il Timer. Costruiamo un orologio simpatico (uso del controllo ProgressBar e della funzione Randomize, per giocare un pò….): Orologio.

Vediamo le principali istruzioni per gestire una LISTBOX: GestioneListBox

GLI OGGETTI IN VISUAL BASIC

Il Visual Basic è un linguaggio di programmazione ‘orientato agli ogetti’, fa parte, quindi, di quell’insieme di programmi definiti OOP (Object Oriented Programming). Il paradigma di programmazione OOP consente di definire degli oggetti software che interagiscono tra di loro mediante lo scambio di messaggi. Ma vediamo di definire cosa si intende per oggetto.

Nella vita di tutti i giorni siamo ‘circondati’ da oggetti che usiamo, tocchiamo, ne ammiriamo la bellezza o …. meno. Di un oggetto osserviamo le ‘caratteristiche’ il colore, la forma, la grandezza e lo ‘usiamo’ per qualche scopo. Definiamo ‘attributi’ le caratteristiche dell’oggetto, ‘metodi’ i vari usi per cui l’oggetto è ‘costruito’. Ad esempio un automobile ha come attributi il colore della scocca (ognuno di noi sceglie o sceglierà il colore della sua auto), gli interni, la cilindrata, il modello…. i metodi, il suo funzionamento, ossia, come si mette in moto, come cambiare le marce, come accelerare o frenare….

In realtà non indichiamo un singolo oggetto ma un’insieme. Con il termine ‘automobile’, ad esempio, indichiamo un insieme di auto. Tale insieme è detto ‘classe‘. L’auto che ho scelto è un oggetto dell’insieme delle automobili: è la mia auto; ha il colore che mi piace, la cilindrata che volevo gli interni di un certo colore. In informatica un oggetto si definisce ‘istanza’.

Vediamo un semplice esempio. Costruiamo un programma che calcola l’area e la circonferenza di un cerchio. Costruiamo. allo scopo, una classe ‘cerchio’ e un’istanza di questa classe (che è un cerchio di un determinato raggio), di questa istanza calcoliamo l’area e la circonferenza. classeCerchio

L’attributo ‘raggio’, dell’esempio precedente, è stato valorizzato tramite il metodo costruttore che ci ha consentito di costruire un’istanza. Vediamo altri modi di valorizzare gli attributi. attributiPublicClasseCerchio e attributiGetSetClasseCerchio.

EREDITARIETA’

Tra due classi logicamente correlate è possibile stabilire la relazione di ereditarietà. Siano persona ed impiegato due classi. Tali classi sono logicamente correlate in quanto un impiegato altro non è che una persona che ha un impiego. Definiti gli attributi e metodi per la classe persona (classe madre o superclasse) questi possono essere ‘ereditati’ dalla classe impiegati (classe derivata o sottoclasse) alla quale vanno aggiunti, ovviamente, gli attributi ed i metodi che caratterizzano gli impiegati.EreditarietaPersonaImpiegato

POLIMORFISMO

La parola ‘polimorfismo’ indica la possibilità di un oggetto ad avere più forme. In informatica indica la capacità di un oggetto a modificare il suo funzionamento. I metodi che mi consentono di realizzare il polimorfismo in Visual Basic sono: L’OVERRIDING e L’OVERLOADING. L’overriding mi permette di modificare il comportamento di un metodo tra classi su cui vi è una relazione di ereditarietà. EreditarietaPersonaImpiegatoOverride; l’overloading permette di modificare il comportamento di un metodo all’interno della stessa classe:esempioPolimorfismoOverloads.

 Esercizio1

All’interno dei programmi avete trovato la parola chiave MyBase, diamo una piccola spiegazione sulle KeyWord Me, MyBase e MyClass.

Me si riferisce all’istanza della classe attualmente in esecuzione (es. se inserita all’interno di una Form Me.Close fa chiudere la Form in quel momento in esecuzione); MyBase permette ad una classe derivata di accedere ai metodi e proprietà della classe base. MyClass è simile a Me, con la differenza che i metodi invocati con MyClass sono considerati non overridable.

Vediamo adesso come un’istanza di una classe madre può essere ‘forzata’ a diventare un’istanza di una classe derivata:CastingDiClasse. Dopo questo facilissimo esempio, vediamone uno un pò più complesso: CastingDiClasseMultiform

EVENTI

Durante le lezioni ‘frontali’, abbiamo devinito il Visual Basic come un linguaggio di programmazione orientato agli oggetti ed agli eventi (Per la definizione leggete la pagina Lezioni classi terze).

La domanda che ci poniamo e se può essere definito dal programmatore un evento all’interno di un programma. La risposta è si! Le istruzioni per generare un evento sono Event e RaiseEvents: Event definsce l’evento, RaiseEvent  lo attiva.Vediamo come: ClassiEventiSenzaCostruttore e ClassiEventiConCostruttore.

EVENTI E GRAFICA

Inseriamo due programmi che possiamo definirli, con molto coraggio, videogames. Il primo, molto semplice, fa muovere un quadratino all’interno di un piano quadratinoMovente0; il secondo consiste nel colpire un bersaglio (quadratino) che si sposta in modo casuale all’interno di un piano con un altro quadratino quadratinoBersaglio.

LISTE A PUNTATORI

Le liste a puntatori sono strutture dinamiche formate da elementi ognuno dei quali ha almeno due campi: un campo dato contenente le informazioni ed un campo puntatore che contiene l’indirizzo del prossimo elemento della lista. Possiamo considerare la lista come un insieme di dati concatenati tra loro “come una catenella”. Vediamo il primo programma: InputEScorrimentoDiUnaListaTesta quindi un programmino in cui si inserisce/elimina un elemento: InputEScorrimentoEliminaElementoDiUnaListaTesta

ALBERI

Vediamo come si gestisce un albero binario in cui ordiniamo gli elementi minori del nodo radice nel sottoalbero sinistro, quelli maggiori nel sottoalbero destro. Quindi esaminiamo l’albero con la tecnica SDR. In questo modo gli elementi verranno ordinati in modo crescente in una listbox: AlberoBinarioInputEVisualizzazione.

FILE

I file sono strutture dati che memorizzano le informazioni su supporti di memoria di massa. Vediamo un esempio di come viene gestito un file di testo: SalvaApriElencoDaFileTesto . Un esempio di file ad accesso diretto è il seguente: FileAccessoDiretto         
 
Qualche informazione in più sui File:  I FILE
 

 

 

 

 

 

 

 

 

Massimo Stefanizzi
Author

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.