Per illustrare un oggetto si dovrebbe usare un linguaggio apposito come Java o C++. Poiché i suoi studenti non lo conoscono percorriamo un'altra via.

Prenda un editor tradizionale, come ad esempio Notepad, E3 oppure un altro qualsiasi, e faccia vedere i contenuti di un programma eseguibile, cioè con estensione exe. Può sceglierne uno qualsiasi il quale si presenta come in figura. Infatti le istruzioni binarie sono visualizzate mediante vari caratteri ASCII. 

 

Figura 1

Poi prepara e quindi fa vedere un file sempre mediante Notepad, ad esempio Dante.txt che contiene tre versi di Dante Alighieri come nel seguente esempio:

Figura 2

Il programma eseguibile è una cosa ed i dati archiviati sono un'altra, le Figure 1 e 2 lo mostrano con evidenza. I ragazzi vedono in modo chiaro la divisione che sussiste nella programmazione classica.

 

A questo punto lei può creare con Word il testo Dante.doc con gli stessi versi di Figura 2, quindi lo mostra prima con Word e poi con Notepad. Con questo prodotto si vedono i versi di Dante ed anche le istruzioni binarie che servono per leggerlo, per visualizzarlo ecc. come nella seguente figura:

 

Figura 3

Infatti Dante.doc non è un file tradizionale cioè non è un testo puro ma è un oggetto il quale contiene sia dati sia metodi. L'editor Word (a differenza di Notepad e di E3) è un editor ad oggetti dunque crea oggetti. Come abbiamo già spiegato nella risposta 20, un oggetto contiene dati e processi insieme, dunque i versi di Dante Alighieri sono i dati dell'oggetto Dante.doc, mentre la parte in binario sono i suoi metodi o servizi

Poi proverà ad apportare una piccola modifica a Dante.doc usando Notepad. Vedrà che ripassando Dante.doc sotto Word si genera un messaggio di errore. Infatti i dati dell'oggetto possono essere gestiti soltanto dai suoi metodi e da nessun altro. In particolare esso può essere salvato su disco soltanto dal suo metodo, se ci prova qualcun altro scatta l'errore. Con questo secondo esperimento i ragazzi scoprono l'incapsulamento:  i dati ed i processi non soltanto "stanno insieme" nell'oggetto ma sono "incapsulati" cioè hanno un rapporto esclusivo, nessuno può interferire. 

Con queste semplici esperienze gli studenti scoprono, direi toccano con mano, alcuni aspetti basilari della tecnologia object-oriented.

 

 

anno 2003

68. Un esempio pratico per spiegare gli oggetti a studenti che ne sono digiuni...

69. Che significa ATM?

Alla lettera la sigla ATM significa:

Asynchronous Transfer Model 

E' un metodo proposto già da qualche anno per trasmettere agilmente voce, video, testo, grafici, dati ecc. Per lo scopo prevede che il pacchetto abbia dimensioni fisse, pari a 53 bytes, e minori di quelle abituali che si aggirano intorno a qualche centinaio di bytes ma possono arrivare fino a 65.535 bytes. Al fine di assicurare la massima rapidità trasmissiva, il percorso tra il trasmittente ed il ricevente resta fisso, cioè i router non cercano percorsi alternativi, perdendo tempo prezioso, come avviene di regola (vedi risposta 15).

Il protocollo ATM non è ancora uno standard come lo è il protocollo IP per esempio. E' in fase di esame e di miglioramento per permeterci lo scambio veloce di informazioni multimediali.

 

 

anno 2003