Pascal/Programmazione ad oggetti: differenze tra le versioni
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 |
Di seguito un semplice esempio di programma che implementa la programmazione a oggetti. |
||
== Esempio == |
== Esempio == |
Versione delle 14:47, 23 apr 2008
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.