Please enable JavaScript.
Coggle requires JavaScript to display documents.
Object Oriented Programming OOP - Coggle Diagram
Object Oriented Programming OOP
REGOLATA DA:
CLASSI
DEFINIZIONE
aiutano a nascondere i dati all'utente
definisce le operazioni applicabili ad oggetti del tipo di dato astratto (TDA)
garantisce all'utente la manipolazione del tipo di dato astratto
VISIBILITÀ
PROTECTED: i dati sono visualizzabili sono nella classe dove sono stati definiti, o in altre classi figlie (che possono essere sia private che pubbliche)
quando è completamente visibile all'utente si dice PUBLIC e utilizzi il +;
quando è completamente privata all'utente si dice PRIVATE, utilizzi il meno e nasconde i metodi e gli attributi, lo fa vedere solo all'interno delle classi (e a chi le mette)
OGGETTI
un'entità dove vengono astratti (messi dentro) degl'attributi all'interno per farle cooperare con altri oggetti
OGGETTI SIMILI
COMPOSTI DA
METODI
DEFINIZIONI
specifica modalità di utilizzo o singolo o ad utilizzo multiplo
sono oggetti con uguali metodi ma diversi attributi
ES: coltello e machete, entrambi per tagliare ma di grandezze diverse
SETTERS
imposta la cella di memoria per acquisire l'attributo. void-nome metodo- char- nome
ES. void SetNome (string)
GETTERS
legge/acquisice il valore delle variabili char-nome metodo
ES. getNome ()string
ATTRIBUTI
DEFINIZIONE
PRINCIPI FONDAMENTALI
INCAPSULAMENTO
possibilità di incorporare sia attributi che metodi, isolando l'oggetto dalle cose esterne
(=barriera concettuale)
INFORMATION HIDING
fornisce all'utente un meccanismo di interfacciamento che garantisce un mascheramento
EREDITARIETÀ
CLASSIFICAZIONE GERARCHICA
SUPERCLASSE & SOTTOCLASSE
FUNZIONI
nuovi campi attributi, nuovi campi metodi aa quelli della superclasse; può soprascrivere dei metodi che già esistono riscrivendo il codice usando lo stesso nome e firma (override). Può restringere la visibilità sia di attributi che di metodi; non può eliminare attributi e metodi della superclasse.
overriding= serve a rendere un metodo una sottoclasse, ottenendo il polimorfismo
la classe antenata di una classe=superclasse;
discendente di classe esistente= sottoclasse;
ogni sottoclasse eredita caratteristiche di altre sottoclassi cosi da avere oggetti più specializzati; ogni istanza della sua superclasse è IS-A, un'istanza della sua superclasse (ciò è definita come generalizzazione) vale la proprietà transitiva, cioè ogni istanza di una sottoclasse è un'istanza di tutte le sue classi antenato. Il meccanismo di ereditarietà è ricorsivo, cioè una sottoclasse può diventare superclasse delle proprie sottoclassi
meccanismo per definire nuove classi in termini di classi esistenti già definite con un livello d'astrazione più alto, dalle quali ereditare attributi e metodi in modo che possano essere gestite collettivamente e riusate. sono organizzate secondo una classificazione gerarchica determinando un concetto di antenato e discendente
POLIMORFISMO
TIPOLOGIE
OVERLOADING
sovraccarico dei metodi; metodi con nome uguale con argomenti diversi e con comportamenti diversi. differiscono per la firma
OVERRIDING
DEFINIZIONE
capacità di far assumere agl'oggetti comportamenti diversi determinati da una diversa implementazione da una diversa firma
CARATTERISTICHE
è stato uno dei primi soggetti d'ispirazione per la creazione dei software
utilizza ed integra confutazione (quantità di calcoli da fare) ed iterazione (i cicli)
aiuta a risolvere il problema del software obsoleto (problema legacy: quando non ci sono soldi per rimodernare un software)
GENERALITÀ
l'OOP (programmazione orientata ad oggetto) è uno dei linguaggi di programma più utilizzati dal 1980
il primo vero programma con linguaggio ad oggetti è lo small talk usato per la prima volta negl'anni '70 per esser ripreso poi in futuro (JAVA, C++, EIFELLE)
RAPPRESENTAZIONE UML
CLASSE
sintetica
ci va solo il nome
completa
si completa tutto lo schema
OGGETTO
sintetico
due celle colorate e c'è solo il nome
completo
ci sono gli attributi e gli scambi degl'attributi
Unified modelling language