Pascal/Programmazione ad oggetti: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
m sistemato
!
Riga 5: Riga 5:
La programmazione orientata agli oggetti è tuttavia un'estensione dell'originale linguaggio Pascal, ed è sopportata solo dai moderni compilatori come [[w:Free Pascal|Free Pascal]] o [[w:Delphi|Delphi]], che consentono all'utente di creare applicazioni con classi e oggetti.
La programmazione orientata agli oggetti è tuttavia un'estensione dell'originale linguaggio Pascal, ed è sopportata solo dai moderni compilatori come [[w:Free Pascal|Free Pascal]] o [[w:Delphi|Delphi]], che consentono all'utente di creare applicazioni con classi e oggetti.


Di seguito un semplice esempio di programma (testato con Free Pascal) che implementa la programmazione a oggetti.
Di seguito un semplice esempio di programma che implementa la programmazione a oggetti.


== Esempio ==
== Esempio ==

Versione delle 14:47, 23 apr 2008

Indice del libro

La programmazione orientata agli oggetti (OOP) è un paradigma di programmazione che consente di gestire applicazioni complesse, come applicazioni molto grandi o con interfacce grafiche elaborate, con semplicità.
Quest'obbiettivo si raggiunge raggruppando in classi le strutture dati e le procedure che le elaborano ottenendo appunto degli oggetti caratterizzati da proprietà (i dati) e metodi (le procedure).

La programmazione orientata agli oggetti è tuttavia un'estensione dell'originale linguaggio Pascal, ed è sopportata solo dai moderni compilatori come Free Pascal o Delphi, che consentono all'utente di creare applicazioni con classi e oggetti.

Di seguito un semplice esempio di programma che implementa la programmazione a oggetti.

Esempio

Il programma memorizza un numero (1) nella variabile privata One, lo incrementa e lo stampa.

 program types;  // Piccolo esempio OOP
 
 type MyType=class
       private
        One:Integer;
       public
        function Myget():integer;
        procedure Myset(val:integer);
        procedure Increase();
      end;
 function MyType.Myget():integer;
 begin
   Myget:=One;
 end;
 procedure MyType.Myset(val:integer);
 begin
   One:=val;
 end;
 procedure MyType.Increase();
 begin
   One:=One+1;
 end;

 var
   NumberClass:MyType;
 begin
   NumberClass:=MyType.Create;  // crea l'istanza dell'oggetto
   NumberClass.Myset(1);
   NumberClass.Increase();
   writeln('Result: ',NumberClass.Myget());
   NumberClass.Free;  // distrugge l'istanza
 end.

Il programma mostrato è banale e non ha alcuno scopo se non quello di mostrare un esempio di sintassi OOP. Esempi molto più complessi si trovano sul sito del progetto FreePascal e di Lazarus, un RAD per lo sviluppo di applicazioni OOP in FreePascal.