PDA

Visualizza la versione completa : programmazione procedurale e programmazione orientato agli oggetti.


davidinho
27-10-2010, 21:02
ciao a tutti, spesso uso c++ per fare programmi anche abbastanza complessi ma ho sempre utilizzato la programmazione procedurale trovandomici più che bene... spesso sento parlare di programmazione ad oggetti, so più o meno come funziona, ma non ho mai capito una cosa: quali sono i reali vantaggi di questo tipo di programmazione???

EDX
28-10-2010, 19:55
Beh, già la parola 'oggetto', ti fa pensare ad una cosa più vicina alla realtà, ovvero un entità con degli attributi e delle azioni eseguibili su esso.

Nella realtà, un oggetto è per esempio una forchetta, i suoi attributi sono lunghezza, altezza, colore, ecc...
Le azioni eseguibili su esso sono per esempio infilza, solleva, ecc...

Tutto questo, che per la mente umana è facile da capire, può essere espresso anche sotto forma di codice, rendendo lo sviluppo di programmi più facile da "capire" per la mente umana. Un oggetto nell'informatica si può rappresentare come una parte di variabili e funzioni legate fra loro e attribuibili ad un unica entità.

Tralasciando poi la spiegazione di livello generale, a livello pratico la programmazione ad oggetti permette una gestione delle risorse, se applicata in modo giusto, molto efficente, consente un ottima riusabilità del codice, e permette una maggiore estensibilità grazie al poliformismo e all'ereditarietà.

MItaly
28-10-2010, 22:36
Dimentichi un punto fondamentale: l'incapsulazione. La programmazione orientata agli oggetti consente di avere a che fare con delle "scatole chiuse" (gli oggetti) di cui è esposta solo l'interfaccia e non l'implementazione, e pertanto è possibile scrivere e usare in maniera semplice oggetti di cui non è necessario conoscere il funzionamento interno, né è teoricamente possibile pasticciare nei dettagli implementativi. Non che ciò sia impossibile nella programmazione procedurale, ma la programmazione orientata agli oggetti rende ciò molto più semplice.

EDX
28-10-2010, 22:48
Molto vero, l'ho scordato. :)

MacApp
29-10-2010, 03:49
E' l'astrazione (che non significa parametrizzazione e neppure generalizzazione) il vero punto di forza della programmazione ad oggetti.

Loading