Pascal/Concetti fondamentali: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 15: Riga 15:
Qui di seguito un esempio in codice su come creare un oggetto (classe):
Qui di seguito un esempio in codice su come creare un oggetto (classe):


<source lang=pascal>
<code>
TYPE TStudente = OBJECT
TYPE TStudente = OBJECT
Nome,Cognome: String;
Nome,Cognome: String;
Riga 26: Riga 26:
PROCEDURE SetAnnoNascita(anno:integer);
PROCEDURE SetAnnoNascita(anno:integer);
END;
END;
</code>
</source>
In questo modo abbiamo definito la classe TStudente che contiene i campi Nome, Cognome e AnnoDiNascita, e i metodi per memorizzare i dati o per ottenerli dall'esterno.
In questo modo abbiamo definito la classe TStudente che contiene i campi Nome, Cognome e AnnoDiNascita, e i metodi per memorizzare i dati o per ottenerli dall'esterno.



Versione delle 19:48, 7 giu 2009

Indice del libro

La programmazione orientata agli oggetti gra attorno a tre concetti fondamentali e di cruciale importanza. Questi concetti sono:

  • L'incapsulamento
  • L'ereditarietà
  • Il polimorfismo

L'incapsulamento

Per un buon approccio alla programmazione agli oggetti, la prima cosa che si deve fare è stabilire quali sono gli oggetti, cosa fanno, quali sono le loro caratteristiche e come interagiscono fra di loro.

Abbiamo detto che gli oggetti sono strutture che contengono campi e metodi. Per campi si intende variabili (in senso molto lato) o meglio, puntatori a zone di memoria. I metodi invece sono le procedure, le funzioni, i costruttori e i distruttori (concetti che vedremo più avanti). Quindi i metodi sono la parte attiva di un oggetto, che possono modificare le caratteristiche di questo oggetto, cioè possono modificare i campi. Il procedimento con la quale si incapsulano i metodi e i campi in un oggetto, si chiama incapsulamento. Per essere più precisi, a venire incapsulata è la classe, che sarebbe un "tipo" di oggetto. Sebbene nella sintassi del Turbo Pascal venga utilizzata la parola chiave object per definire una classe, ciò non deve creare perplessità. Un oggetto per essere creato ha bisogno di essere istanziato da una classe, quindi per esempio avendo una classe Studente, da questa classe possono venire istanziati due oggetti: Francesco e Giorgio.

Qui di seguito un esempio in codice su come creare un oggetto (classe):

TYPE TStudente = OBJECT
                    Nome,Cognome: String;
                    AnnoDiNascita: integer;
                    FUNCTION GetNome : String;
                    FUNCTION GetCognome : String;
                    FUNCTION GetAnnoNascita : integer;
                    PROCEDURE SetNome(nome:string);
                    PROCEDURE SetCognome(cognome:string);
                    PROCEDURE SetAnnoNascita(anno:integer); 
                 END;

In questo modo abbiamo definito la classe TStudente che contiene i campi Nome, Cognome e AnnoDiNascita, e i metodi per memorizzare i dati o per ottenerli dall'esterno.