Programmazione orientata agli oggetti è un concetto che ha travolto universitari dipartimenti di scienza informatica negli anni '80 e della comunità del software di produzione negli anni '90 . Come " programmazione modulare " prima e "Programmazione Internet " dopo che , OOP era un argomento di discussione. Ora , i concetti di programmazione modulare sono universalmente accettati , e molti dei concetti della programmazione orientata agli oggetti sono ampiamente accettate , 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 d'istanza " e " metodi ". Il record di variabili istanza valori associati all'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 variabili di istanza come la quantità di carburante . Un metodo potrebbe essere " siluro del fuoco . " Navi spaziali possono appartenere a una "classe" di oggetti chiamati " oggetti in movimento . " Asteroidi appartengono anche a questa classe . L'esecuzione del programma è costituito da oggetti invio di "messaggi" tra di loro .
I vantaggi della programmazione orientata agli oggetti
Il primo vantaggio al concetto oggetti è che tutto il codice che ha niente a che fare con le navi spaziali si trovano in un unico posto. Un altro vantaggio è che gli oggetti possono avere attributi intrinseci della classe di appartenenza , ad esempio , navi spaziali e asteroidi entrambi potrebbero avere una posizione XY , perché tutti gli oggetti che appartengono alla classe degli oggetti in movimento è dotato di posizione XY . La scrittura di codice è spesso più facile perché si può concettualizzare 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 di finestre e tutto il codice che si riferisce a una particolare finestra è a tale oggetto finestra , tutte le manipolazioni della finestra possono essere scritte come il trasferimento di messaggi semplici .
< Br > gli svantaggi di OOP
Non tutti i programmi possono essere modellati con precisione il modello di oggetti . Se si desidera solo per leggere alcuni dati , fare qualcosa di semplice per esso e scrivere di nuovo fuori , non avete bisogno di definire classi e oggetti . Tuttavia, in alcuni linguaggi OOP , potrebbe essere necessario eseguire questo passaggio in più. Un altro svantaggio è che, se si forza la lingua nel concetto di programmazione orientata agli oggetti , si perde alcune delle caratteristiche di linguaggi utili come i " linguaggi funzionali . " Un altro svantaggio è che il concetto di un programmatore di ciò che costituisce un oggetto astratto potrebbe non corrispondere alla visione di un altro programmatore . Gli oggetti spesso richiedono una vasta documentazione .
Il futuro della OOP
Il futuro della OOP probabilmente risiede con linguaggi come Ruby e Lua , in cui il concetto di oggetto è costruito in la lingua e non è sempre controllata in modo esplicito dal programmatore . Ruby, per esempio , tratta tutto ciò come un oggetto , tra cui stringhe, numeri , il programma e il contenuto della directory ci si trova 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à
.