Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Perché programmare ad oggetti

Vantaggi e benefici di questo approccio alla programmazione in ambito Javascript
Vantaggi e benefici di questo approccio alla programmazione in ambito Javascript
Link copiato negli appunti

La programmazione ad oggetti rappresenta una metodologia di sviluppo software che si contrappone alla programmazione procedurale, spesso troppo poco gestibile e confusionaria.

Tramite l'approccio orientato ad oggetti è possibile definire delle classi che rappresentano un tipo di dato gestito dall'applicazione che può essere utilizzato solo tramite particolari interfacce esposte dalla classe stessa verso le altre classi dell'applicazione. All'interno di una classe esistono infatti alcune funzionalità "interne" che non vengono mostrate all'esterno.

Tramite questa tipologia di programmazione si migliora notevolmente il codice limitando le interferenze tra diversi componenti e incapsulando funzionalità specifiche all'interno di una sorta di contenitore che permette una organizzazione più funzionale ed elegante.

Le caratteristiche principali di un linguaggio ad oggetti sono tre:

  • ereditarietà: la possibilità di estendere classi con altre classi che ne ereditano appunto proprietà e metodi;
  • incapsulamento: la possibilità di includere in una classe funzionalità specifiche che non verranno rese pubbliche al resto dell'applicazione;
  • polimorfismo: la possibilità di avere funzionalità particolari che si comportano in maniera diversa in base all'oggetto invocante o ai parametri ad esso passati.

JavaScript è un linguaggio ad oggetti abbastanza particolare. Presenta infatti molte caratteristiche chiave della programmazione ad oggetti (per esempio il fatto che qualsiasi variabile sia un oggetto) ma non tutte (come per esempio la modifica della visibilità di un metodo).

Inoltre presenta moltissimi aspetti facenti capo alla programmazione procedurale (la possibilità di avere funzioni "sganciate" da classi particolari) e aspetti un po' esotici come il concetto di scope e di closure visti nelle lezioni precedenti).

Personalmente preferisco puntare sempre su una programmazione ad oggetti in quanto la ritengo più chiara, manutenibile ed elegante, rispetto ad una programmazione funzionale.

Le mancanze presenti nel linguaggio non devono spaventare lo sviluppatore orientato agli oggetti in quanto possono comunque essere in qualche modo aggirate con un po' di mestiere e di buona programmazione. L'unica effettiva mancanza che ho riscontrato nel linguaggio è quella delle interfacce, componente abbastanza comodo nella programmazione ad oggetti.

Ti consigliamo anche