Please enable JavaScript.
Coggle requires JavaScript to display documents.
Object Oriented Programming OOP - Coggle Diagram
Object Oriented Programming
OOP
RAPPRESENTAZIONE
per le CLASSI
per gli OGGETTI
PRINCIPI FONDAMENTALI
incapsulamento
definizione
capacità degli oggetti di incorporare attributi e metodi. in questo modo si crea una "barriera concettuale" che differenzia gli oggetti tra loro
dall'incapsulamento deriva l'
information hiding
, ossia il meccanismo che permette di nascondere il funzionamento interno degli oggetti all'utente
polimorfismo
definizione
capacità degli oggetti di assumere comportamenti differenti in base all'implementazione dei loro membri
i metodi della classe ereditata differiscono dai metodi della classe di base nel numero e/o nel tipo dei parametri
classificazione
overriding
metodi sovrapposti hanno la stessa firma
overloading
metodi omonimi hanno diversi argomenti e comportamenti (differenza nella firma)
ereditarietà
classificazione
gerarchica
SUPERCLASSE e SOTTOCLASSE
funzioni
superclasse
: antenato di una nuova classe (classe madre)
sottoclasse
: discendente di una classe esistente (classe figlia)
ogni sottoclasse eredita le sue caratteristiche dalla propria superclasse
ogni istanza di una sottoclasse è anche un'istanza della sua superclasse
vale la proprietà transitiva
il meccanismo di ereditarietà è ricorsivo, ossia una sottoclasse può a sua volta avere delle proprie sottoclassi
definizione
processo grazie al quale una classe acquisisce un bagaglio di proprietà da una classe più generica, permettendo di descrivere una classificazione gerarchica di oggetti senza ridefinire ogni volta le caratteristiche comuni ad ogni classe
REGOLATA DA
CLASSI
visibilità
definizione
OGGETTI
oggetti simili
composti da
ATTRIBUTI
definizione:
METODI
setters
getters
definizione:
definizione:
CARATTERISTICHE
i linguaggi OOP:
hanno ispirato il concetto di componente software
aiutano ad integrare computazione e interazione
utilizzano metodi di sviluppo top-down e bottom-up
affrontano il problema della sostituzione di un software obsoleto (legacy)
per
legacy
si intende il mantenimento volontario di un vecchio software da parte dell'utilizzatore
GENERALITÀ
il primo linguaggio puramente orientato agli oggetti - usato tutt'oggi - fu
Smalltalk
, introdotto da Alan Kay, ricercatore presso il Palo Alto Research Center, in California. oggi i linguaggi OOP più diffusi sono
Java
,
Eiffel
e
C++
metodo di programmazione teorizzato negli anni '80; supera la programmazione strutturata perché affronta i progetti sotto un nuovo punto di vista introducendo gli "oggetti"