Pascal/Programmazione ad oggetti: differenze tra le versioni
m sistemato |
|||
Riga 1: | Riga 1: | ||
{{Pascal}} |
{{Pascal}} |
||
La '''[[w:programmazione orientata agli oggetti|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à. |
|||
==Introduzione== |
|||
<br/>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 [[w:Free Pascal|Free Pascal]] o [[w:Delphi|Delphi]], che consentono all'utente di creare applicazioni con classi e oggetti. |
|||
⚫ | |||
⚫ | |||
==Descrizione== |
|||
⚫ | |||
== Esempio == |
|||
⚫ | |||
<source lang=pascal> |
|||
program types; // Piccolo esempio OOP |
program types; // Piccolo esempio OOP |
||
type MyType=class |
type MyType=class |
||
private |
private |
||
Riga 29: | Riga 32: | ||
One:=One+1; |
One:=One+1; |
||
end; |
end; |
||
var |
var |
||
NumberClass:MyType; |
NumberClass:MyType; |
||
Riga 38: | Riga 42: | ||
NumberClass.Free; // distrugge l'istanza |
NumberClass.Free; // distrugge l'istanza |
||
end. |
end. |
||
</source> |
|||
Il programma mostrato è banale e non ha alcuno scopo se non quello di mostrare un |
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 [http://www.freepascal.org/ FreePascal] e di [http://lazarus.freepascal.org/ Lazarus], un RAD per lo sviluppo di applicazioni OOP in FreePascal. |
||
== Voci correlate == |
|||
* [http://it.wikipedia.org/wiki/Programmazione_orientata_agli_oggetti Programmazione orientata agli oggetti] |
|||
* [http://it.wikipedia.org/wiki/Free_Pascal Free Pascal] |
|||
* [http://it.wikipedia.org/wiki/Lazarus Lazarus] |
|||
* [http://it.wikipedia.org/wiki/Delphi Delphi] |
|||
[[Categoria:Pascal|Programmazione ad oggetti]] |
[[Categoria:Pascal|Programmazione ad oggetti]] |
Versione delle 17:09, 31 gen 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 (testato con Free Pascal) 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.