Please enable JavaScript.
Coggle requires JavaScript to display documents.
Object Oriented Programming OOP - Coggle Diagram
Object Oriented Programming
OOP
GENERALITA'
Modello di programmazione (paradigma) più diffuso e utilizzato apartire dal 1980
Il primo vero linguaggio a oggetti "puro" usato tutt'oggi fu il linguaggio SmallTalk, introdotto negli
anni '70 inizialmente da Alan Kay esuccessivamente ripreson da Adele Goldberg e Daniel Ingalls, entrambi ricercatori allo Xerox Park di Palo Alto, in California. Oggi i linguaggi a oggetti più rappresentativi sono Java, Eiffel e C++
RAPPRESENTAZIONE UML
DEFINIZIONE
UML Unified Modeling Language standard OMG Object Management Group e standard ISO
(19505:2012)
PER LE CLASSI
COMPLETA si utilizza un rettangolo con tre sezioni con indicati anche gli attributi e i metodi
SINTETICA si utilizza un rettangolo con 3 sezioni dove viene indicato solo il nome della classe
PER GLI OGGETTI
SINTETICA si utilizza un rettangolo con due sezioni dove viene indicato solo il nome dell'oggetto
COMPLETA si utilizza un rettangolo con due sezioni con indicati anche i valori relativi gli attributi che descrivono l'oggetto con la visibilità ottenuta scrivendo +(public) e - (private)
CARATTERISTICHE
Sono tra le sorgenti d'ispirazione del concetto di componente software
Utilizzano e integrano le metodologie di sviluppo top-down e bottom-up
Aiutano a integrare computazione e iterazione
Aiutano ad affrontare il problema della sostituzione del software obsoleto
LEGACY
Caso in cui un'applicazione continua ad essere usata perché l'utente non ha i mezzi finanziari o non vuole sostituirla con una migliore prestazione
REGOLATA DA
CLASSI
DEFINIZIONE
Definire tutte le operazioni applicabili agli oggetti del tipo di dato astratto
Garantire che l'utente possa manipolare gli oggetti tramite operazioni del tipo di dato astratto (TDA) a cui gli oggetti appartengono (protezione)
Definire e nascondere la rappresentazione dei dati all'utente
VISIBILTA'
pubblica (pubblic "+"): permette l'utilizzo di variabili e metodi all'esterno
protetta (protected): sono visibili solamente nella classe dove sono definiti e anche nei metodi delle classi figlie (pubblic"+"), ma mai in altri punti del programma (private"-")
privata (ptivate"-"): nasconde metodi e codici che risulteranno non utilizzabili ed è la clausola di default
OGGETTI
DEFINIZIONE
Entità del problema o della realtà che vengono astratti, vengono memorizzati al interno degli specifici ATTRIBUTI e comportamenti (METODI) in modo tale da cooperare con altri OGGETTI svolgendo specifiche azioni
OGGETTI SIMILI
Rappresentazione di una qualsiasi cosa che ha comportamenti uguali (METODI) e caratteristiche specifiche (ATTRIBUTI) che li differiscono tra loro es. Macete e coltello
Lo STATO di un oggetto è l'insieme dei valori di un attributo (es. fornello acceso o spento, rubinetto aperto o chiuso)
COMPOSTI DA
METODI
GETTERS
get per leggere, legge il valore assegnato alla
variabile
1) char nome metodo 2) tipo dato iniziale getNome(): (tipo di dato finale e il nome set cambiato con get)
SETTERS
set per impostare, imposta la cella di memoria per la variabile
1) void nome metodo char nome
2) tipo dato d'uscita setNome (tipo dato iniziale variabile
da impostare)
DEFINIZIONE
Gli oggetti hanno specifiche modalità d'utilizzo (es. il coltello taglia, il piano cottura scalda) alcuni di uso singolo, altri con più modalità (es. il coltello taglia, infilza, spalma,..) che caratterizzano il loro comportamento
ATTRIBUTI
Qualsiasi qualità MISURABILE o ENUMERABILE può costruire un'attributo (es. peso della patata, dimensione del piano cottura,..) Alcuni attributi sono presenti in tutti gli oggetti altri invece sono caratteristici di una sola CLASSE