Vantaggi e svantaggi di programmazione orientata agli oggetti

February 20

Vantaggi e svantaggi di programmazione orientata agli oggetti


programmazione orientata agli oggetti è un concetto che ha spazzato attraverso i dipartimenti universitari di informatica negli anni '80 e la comunità del software di produzione negli anni '90. Come "programmazione modulare" prima e "programmazione di Internet" dopo che, OOP era un argomento di discussione. Ora, i concetti di programmazione modulare sono universalmente accettate, e molti dei concetti di programmazione orientata agli oggetti sono ampiamente accettati, anche se alcune obiezioni al paradigma OOP rimangono.

L'idea di base della programmazione orientata agli oggetti

In OOP, programmi per computer sono l'interazione di "oggetti". Un oggetto ha "variabili di istanza" e "metodi". I valori variabili di istanza record associato con l'oggetto. I metodi sono funzioni che coinvolgono qualche aspetto dell'oggetto. In un programma di gioco, ci potrebbe essere un oggetto chiamato "nave spaziale", che ha come variabili di istanza quantità di carburante. Un metodo potrebbe essere "siluro fuoco". navi spaziali potrebbero appartenere ad una "classe" di oggetti chiamati "oggetti in movimento." Asteroids appartengono anche a questa classe. L'esecuzione del programma è costituito da oggetti invio di "messaggi" gli uni agli altri.

I vantaggi di programmazione orientata agli oggetti

Il primo vantaggio per il concetto di oggetti è che tutto il codice che ha qualcosa a che fare con le navi spaziali si trovano in un unico luogo. Un altro vantaggio è che gli oggetti possono possedere attributi intrinseci della classe di appartenenza; per esempio, navi spaziali e gli asteroidi entrambi potrebbero avere una posizione XY, perché tutti gli oggetti che appartengono alla classe degli oggetti in movimento hanno una posizione XY. La scrittura di codice è spesso più facile perché si può concepire come qualcosa che accade ad un oggetto. Un altro vantaggio è che OOP rende grandi programmi più gestibile. Se tutte le finestre appartengono a una gerarchia di classi finestre e tutto il codice che si riferisce ad una particolare finestra è con tale oggetto finestra, tutte le manipolazioni finestra possono essere scritti come il trasferimento di messaggi semplici.

Gli svantaggi di programmazione orientata agli oggetti

Non tutti i programmi possono essere modellate con precisione dal modello oggetti. Se si desidera solo per leggere alcuni dati, fare qualcosa di semplice ad esso e scrivere di nuovo fuori, non avete bisogno di definire classi e oggetti. Tuttavia, in alcune lingue OOP, potrebbe essere necessario eseguire questo passaggio in più. Un altro svantaggio è che se si forza la lingua nel concetto OOP, si perdono alcune delle caratteristiche di lingue utili come i "linguaggi funzionali." Un altro svantaggio è che il concetto uno del programmatore di ciò che costituisce un oggetto astratto potrebbe non corrispondere la visione di un altro programmatore. Gli oggetti spesso richiedono una vasta documentazione.

Il futuro della programmazione orientata agli oggetti

Il futuro della programmazione orientata agli oggetti, probabilmente si trova con linguaggi come Ruby e Lua, in cui il concetto oggetto è costruito nella lingua e non è sempre esplicitamente controllato dal programmatore. Ruby, per esempio, considera tutto come un oggetto, tra cui stringhe, numeri, il programma e il contenuto della directory che si sta attualmente. È quasi mai necessario dichiarare nulla per essere un oggetto. Siete liberi di usare la lingua nel modo desiderato: come OOP, come un linguaggio funzionale, come un linguaggio procedurale o anche in modi che mescolano le modalità.