appunti3s:programmazione_orientata_agli_oggetti
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
appunti3s:programmazione_orientata_agli_oggetti [2018/05/08 23:49] – profpro | appunti3s:programmazione_orientata_agli_oggetti [2020/06/08 22:19] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | < < indice degli [[appunti3s: | ||
+ | |||
+ | ====== Programmazione orientata agli oggetti ====== | ||
+ | |||
+ | ===== Introduzione ===== | ||
+ | Anche gli oggetti, come le funzioni, sono pezzi di programma che possono essere riutilizzati, | ||
+ | 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 // | ||
+ | | ||
+ | |||
+ | 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, | ||
+ | |||
+ | Ci sono anche altri vantaggi nell' | ||
+ | * la ficilità dello // | ||
+ | * la facilità della // | ||
+ | * la facilità del del // | ||
+ | |||
+ | e altri vantaggi che saranno compresi attraverso successivi esempi. (A volte un esempio è più chiaro di mille parole). | ||
+ | Per alcuni tipi di problemi la programmazione orientata agli oggetti invece non è la soluzione ideale.... | ||
+ | Di solito l' | ||
+ | ====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' | ||
+ | ====Gli oggetti hanno una privacy==== | ||
+ | Gli oggetti sono responsabili dei propri dati, ma pretendono riservatezza. (vedere [[appunti3s: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====Confronto tra linguaggio C e C++===== | ||
+ | Il linguaggio C è stato creato avendo in mente lo stile di programmazione procedurale, | ||
+ | |||
+ | Il linguaggio C++ è stato creato avendo in mente lo stile di programmazione orientato ad oggetti, per questo motivo tale linguaggio contiene gli strumenti utili al programmatore per scrivere un programma con lo stile orientato ad oggetti. Questo stile ha aggiunto delle regole che lo stile procedurale non conteneva. Quando si aggiungono delle regole, le cose sembrano diventare più difficili, ma queste regole aiutano a scrivere i programmi senza commettere errori. | ||
+ | |||
+ | Chi ha creato il linguaggio C++ ha voluto dare il tempo ai programmatori, | ||
+ | |||
+ | È vero che esistono programmi scritti combinando insieme i due tipi di stili e i due linguaggi, ma chi studia il linguaggio C++ e vuole ottenere i migliori risultati, deve abbandonare il vecchio stile di programmazione puramente procedurale. Deve svolgere una // | ||
+ | |||
+ | Dopo aver visto cosa si intende per linguaggio C e linguaggio C++, e le relative differenze, qualcuno potrebbe chiedersi che cosa sia " | ||
+ | |||
+ | * esempio funzione membro ispettore (accessor) non usare get | ||
+ | * esempio funzione membro modificatore (manipulator) usare setNome | ||
+ | * esempio di costruttore (costruttore dentro costruttore) | ||
+ | |||
appunti3s/programmazione_orientata_agli_oggetti.txt · Last modified: 2020/06/08 22:19 by 127.0.0.1