Tipo di Dato Astratto o Abstract Data Type - ADT

 

Un Tipo di Dato Astratto o Abstract Data Type - ADT è, per definizione, un nuovo tipo di dato che estende i tipi nativi forniti dal linguaggio di programmazione.
 
[adsense:block:adcontenuto]
 
Un ADT è caratterizzato da un insieme di:
  1.  dati;
  2.  operazioni che agiscono sui dati, leggengoli/scrivendoli;

 

Fin qui niente di nuovo: anche i linguaggi procedurali, come per esempio C, consentono di definire un ADT. Ma, mentre per tali linguaggi chiunque può avere accesso ai dati e modificarli, i linguaggi Object Oriented ne garantiscono la loro riservatezza.
 
Supponiamo infatti di voler definire in C (non preoccuparsi della sintassi) un ADT Persona cioé una struttura dati che mantenga le informazioni (dati) di una Persona, come, per esempio, il nome, il cognome e la data di nascita e che consenta di creare e stampare le informazioni di una persona (operazioni):
 
/* Struttura dati per mantenere la data di nascita */
struct Data {
int giorno;
int mese;
int anno;
};
/* Struttura dati per mantenere le info. della persona */
struct Persona {
struct Data *data_di_nascita;
char *nome;
char *cognome;
};
/* Setta le info. della persona */
void creaPersona(struct Persona *persona)
{
persona->data_di_nascita->giorno = 31;
persona->data_di_nascita->mese = 12;
persona->data_di_nascita->anno = 1976;
persona->nome = "Eugenio";
persona->cognome = "Polito";
}
[adsense:block:adcontenuto]
/* Stampa le info. della persona */
void stampaDati(struct Persona *persona)
{
printf("Mi chiamo %s %s e sono nato il %i-%i-%i \n",
persona->nome,
persona->cognome,
persona->data_di_nascita->giorno,
persona->data_di_nascita->mese,
persona->data_di_nascita->anno);
}
/* crea un puntatore alla struttura e lo inizializza;
quindi stampa le info. */
int main()
{
struct Persona *io;
creaPersona(io);
stampaDati(io);
return 0;
}
 
Se eseguiamo questo programma, otteniamo il seguente output:
 
Mi chiamo Eugenio Polito e sono nato il 31-12-1976
 
Proviamo adesso a modificare il main nel seguente modo:
 
int main()
{
struct Persona *io;
creaPersona(io);
io->data_di_nascita->mese = 2;
stampaDati(io);
return 0;
}
 
Questa volta l’output è:
 
Mi chiamo Eugenio Polito e sono nato il 31-2-1976
 
Cioè le mie informazioni private sono state modificate con l’assegnamento:
 
io->data_di_nascita->mese = 2

 

 

Risorse per sviluppo: 

Ti potrebbero anche interessare:

Tutorial Drupal Views: Conoscere e creare una vista con Drupal

Drupal Views (Guida da completare)
 Il modulo Views permette ai webmaster di drupal di creare, gestire e visualizzare elenchi di contenuti e quindi un modo di presentare i contenuti e le tabelle. Essenzialmente esso è un generatore di query che, date alcune informazioni, può creare query, eseguirle e portare a visuale i dati in pagine, blocchi o altri formati. Ogni singola vista inoltre può avere multiple visualizzazioni
Drupal: 

Formati di input in Drupal: Configurazione

I formati di input in Drupal definiscono un modo di processare il testo generato dall'utente.
Ogni filtro è progettato per compiere un compito preciso, e generalmente rimuove o aggiunge elementi al testo prima che esso venga visualizzato.
Drupal di base offre due formati di input "Filtered Html" e "Full Html" e
Drupal: