Introduzione agli oggetti nei programmi

Anche gli oggetti, come le funzioni, sono pezzi di programma che possono essere riutilizzati, ma a differenza delle tradizionali funzioni, questi trattano i dati in modo più “responsabile”. Immaginando che il programma sia un insegnante che interroga gli studenti, e che come prima cosa debba conoscere il nome dello studente:

  • Un insegnante orientato alle funzioni, prenderebbe in mano il documento dello studente, per poter leggere il nome dal suo documento.
  • Un insegnante orientato agli oggetti, chiederebbe gentilmente allo studente di fornirgli il proprio nome.

Il primo insegnante, rispetto al secondo, agisce utilizzando un eccesso di forza e si comporta in modo sgarbato. Questo è il modo con cui si comporta una tradizionale funzione con tutti i dati. Infatti il programmatore può creare una funzione così forte che può modificare i parametri che gli vengono passati, questo perché non esiste nessun controllo che limita la volontà del programmatore. Questo permette di scrivere rapidamente le funzioni nel programma, ma rende difficile scoprire eventuali errori presenti nel codice di una funzione, perché non esiste una sola funzione responsabile delle modifiche fatte su un certo dato.

Il secondo insegnante pensa che gli studenti abbiano diritto alla loro privacy e che inoltre sia più sicuro chiedere il nome invece che sperare di trovare, chissà in quale tasca, un documento. Anche il programmatore, usando gli oggetti, assegna a loro delle responsabilità, e se c'è un errore nel funzionamento del programma, sa immediatamente dove trovare il responsabile. Perché, di solito, per ogni dato esiste un solo responsabile.

Ci sono anche altri vantaggi nell'uso della programmazione orientata agli oggetti, come la facilità della manutenzione, dello sviluppo e del riutilizzo del codice, e altri che saranno compresi attraverso altri esempi. Per alcuni tipi di problemi la programmazione orientata agli oggetti invece non è la soluzione ideale…. Di solito l'approccio migliore per descrivere la soluzione di un problema dipende anche dal problema… Un po' come quando alcuni problemi si risolvono meglio usando la ricorsione e altri usando l'iterazione.

Gli oggetti sono strumenti di lavoro

Gli oggetti sono strumenti che realizzano o forniscono qualcosa sui dati. In questo modo si evita di occuparsi direttamente dei dati e si lascia che sia l'oggetto ad occuparsene.

Gli oggetti hanno una privacy

Gli oggetti sono responsabili dei propri dati, ma pretendono riservatezza. (vedere data hiding) Non di deve pretendere di sapere come un oggetto esegue il proprio lavoro, ma chiedere solo che produca il risultato aspettato. Non c'è bisogno di capire qualcosa quando non siamo noi ad occuparcene.

  • appunti3s/un_oggetto_in_un_programma.txt
  • Last modified: 2018/04/25 07:55
  • (external edit)