Estratto del documento

Appunti di programmazione ad oggetti

A cura di Gerardo Cicalese

Sommario

  • Ruolo di un linguaggio di programmazione ..........................................................................6
    • Lo spazio del problema ..................................................................................................6
    • Lo spazio della soluzione ................................................................................................6
    • Il processo di astrazione .................................................................................................6
    • Necessità dell’ausilio alla strutturazione ........................................................................7
  • Modello object oriented ........................................................................................................9
    • Concetti fondamentali della programmazione ad oggetti ..............................................9
    • Oggetto ..........................................................................................................................9
    • Classe .............................................................................................................................9
    • FAQ: Differenza tra classe ed oggetto ..........................................................................10
    • Metodo .........................................................................................................................10
    • Messaggio ....................................................................................................................10
    • Incapsulamento ............................................................................................................11
  • Piattaforma e linguaggio Java .............................................................................................12
    • Principi della piattaforma Java .....................................................................................12
    • JVM ...............................................................................................................................12
    • Compilazione dei codici sorgente ................................................................................12
    • Gestione della memoria ...............................................................................................13
    • Il passaggio di parametri avviene per valore o per riferimento? ..................................13
    • Semantica dei riferimenti .............................................................................................13
    • Le naming conventions di Java ....................................................................................14
    • Firma di un metodo ......................................................................................................14
    • Cast ..............................................................................................................................14
    • Casting tra tipi primitivi .............................................................................................14
    • Parola chiave this .......................................................................................................15
    • Modificatore final ........................................................................................................15
  • Static ..................................................................................................................................16
    • Casi di utilizzo dei metodi statici ..................................................................................16
    • Inizializzazione degli attributi statici ............................................................................16
  • Creazione e distruzione di un oggetto ................................................................................17
    • Differenza tra creazione di un oggetto e creazione di un riferimento .........................17
    • Il costruttore .................................................................................................................17
    • FAQ: Un costruttore senza parametro è chiamato costruttore di default? ...................17
    • Identificatore di un oggetto ..........................................................................................18
    • Garbage Collector ........................................................................................................18
  • Metodi per operare sugli oggetti ........................................................................................19
    • Classe Object ...............................................................................................................19
    • Metodi getter e setter ..................................................................................................19
    • Oggetti immutabili .......................................................................................................19
    • Metodo equals() ...........................................................................................................20
    • Metodo hashCode() ......................................................................................................20
    • Metodo toString() .........................................................................................................20
    • Metodo compareTo() ....................................................................................................20
    • Relazione tra equals(), hashCode() e compareTo() ......................................................21
    • Interfaccia Comparator ................................................................................................21
    • Interfaccia Comparable ..............................................................................................21
    • FAQ: Differenza tra Comparator e Comparable ..........................................................21
  • Package e modificatori .......................................................................................................22
    • Package ........................................................................................................................22
    • Modificatori ..................................................................................................................22
    • Visibilità e modificatori di accesso ...............................................................................22
    • Relazione tra incapsulamento e visibilità .....................................................................23
  • Polimorfismo .......................................................................................................................24
    • FAQ: Come fa la JVM a decidere quale metodo eseguire in presenza di polimorfismo (per metodi)? .....................................................................................................................24
    • Binding dinamico e statico ...........................................................................................25
    • Invocazione virtuale dei metodi ...................................................................................25
  • Overloading ed overriding ..................................................................................................26
    • Overloading dei metodi ................................................................................................26
    • FAQ: Come fa la JVM a distinguere i metodi overloaded? ............................................26
    • Overloading degli operatori .........................................................................................26
    • Override .......................................................................................................................26
    • Annotazione @Override ...............................................................................................27
    • FAQ: Differenza tra override ed overload .....................................................................27
  • Ereditarietà .......................................................................................................................28
    • Vantaggi dell’ereditarietà ...........................................................................................28
    • Casting tra oggetti: upcast e downcast .....................................................................29
    • Visibilità dei membri nella classe figlia ......................................................................29
    • Relazione tra ereditarietà e polimorfismo ..................................................................29
    • Operatore instanceof .................................................................................................29
    • Parola chiave super ....................................................................................................30
  • Aggregazione e composizione ..........................................................................................31
    • Aggregazione .............................................................................................................31
    • Composizione .............................................................................................................31
  • Classi astratte ed interfacce .............................................................................................32
    • Classe astratta ...........................................................................................................32
    • Metodo astratto ..........................................................................................................32
    • Interfaccia ..................................................................................................................32
    • Ereditarietà multipla tramite le interfacce .................................................................33
  • Classi innestate ................................................................................................................34
    • Classi innestate e classi interne .................................................................................34
    • Vantaggi delle classi innestate e casi di utilizzo ........................................................35
    • Classi locali .................................................................................................................36
    • Classi anonime ...........................................................................................................36
  • Generics ...........................................................................................................................37
    • Polimorfismo parametrico ..........................................................................................37
    • Vantaggi dei generici .................................................................................................37
    • Convenzioni sui tipi parametro ..................................................................................37
    • Tipi generici ................................................................................................................38
    • Metodi generici ..........................................................................................................38
    • Deduzione automatica del tipo ..................................................................................38
    • Tipi wrapper ...............................................................................................................38
    • Bounded parameters .................................................................................................39
  • Gestione delle condizioni anomale ...................................................................................40
    • Gestione tradizionale delle condizioni anomale .........................................................40
    • Gestione delle condizioni anomale in Java .................................................................40
    • Operatore throw .........................................................................................................41
    • Handler .......................................................................................................................42
    • Try with resources ......................................................................................................43
    • Eccezioni controllate e non controllate ......................................................................43
    • Definizione di un’eccezione .......................................................................................44
    • FAQ: Come si riconosce un’eccezione controllata? ....................................................44
    • Firma di un metodo che lancia eccezioni ...................................................................44
  • Collections ........................................................................................................................46
    • Schema gerarchico delle Collections .........................................................................46
    • Iterare sulle collezioni ................................................................................................47
    • Iteratore .....................................................................................................................47
    • Polimorfismo nelle collezioni ......................................................................................48
    • FAQ: Differenza tra Map e Set ....................................................................................48
    • Implementazioni di Map .............................................................................................49
    • Parola chiave Iterable .................................................................................................49
  • I/O e Streams ....................................................................................................................50
    • Chiusura degli stream ................................................................................................50
    • Classi ed interfacce principali di java.io .....................................................................50
    • Classi per la gestione dell’I/O non appartenenti a java.io ..........................................51
    • FAQ: Differenza tra FileReader, FileWriter, FileInputStream, FileOutputStream e File 51
    • Bufferizzazione ...........................................................................................................51
    • Serializzazione ...........................................................................................................52
  • Programmazione multi-threaded ......................................................................................53
    • Thread ........................................................................................................................53
    • Differenza tra thread e processo ................................................................................54
    • Differenza tra programmazione concorrente e parallela ...........................................54
    • Creazione di un thread in Java, differenza tra Runnable e Thread .............................55
    • Sincronizzazione tra thread ........................................................................................56
    • Mutex .........................................................................................................................57
    • Deadlock ....................................................................................................................57
    • Synchronized ..............................................................................................................58
    • Stati di un thread .......................................................................................................58
    • Attesa attiva .............................................................................................................58
    • Attesa passiva mediante i metodi wait(), notify() e notifyAll() ................................59
    • Metodi per gestire l’attesa .......................................................................................60
    • Metodo wait() ...........................................................................................................60
    • Metodo sleep() .........................................................................................................61
    • Metodo join() ............................................................................................................61
  • Interfacce grafiche con JavaFX .........................................................................................62
    • Anatomia di un’applicazione JavaFX ..........................................................................62
    • Layout ........................................................................................................................62
    • FXML ...........................................................................................................................63
    • Scene Builder .............................................................................................................63
    • Gestione degli eventi .................................................................................................63
    • Properties ...................................................................................................................64
    • Binding .......................................................................................................................65
    • Osservabilità ..............................................................................................................65
    • FXCollections ..............................................................................................................65
    • Pattern MVC .............................................................................................................65
    • FAQ: JavaFX è una realizzazione del pattern MVC? ..................................................66
    • Controller .................................................................................................................66
    • FileChooser ...............................................................................................................66
    • Concorrenza in JavaFX .............................................................................................66
    • La classe Task ...........................................................................................................67
    • La classe Service ......................................................................................................67

Ruolo di un linguaggio di programmazione

Un linguaggio di programmazione permette di stabilire una corrispondenza tra lo spazio del problema e lo spazio della soluzione, tramite il processo di astrazione.

Anteprima
Vedrai una selezione di 15 pagine su 68
Appunti Programmazione ad oggetti e Java Pag. 1 Appunti Programmazione ad oggetti e Java Pag. 2
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 6
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 11
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 16
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 21
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 26
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 31
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 36
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 41
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 46
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 51
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 56
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 61
Anteprima di 15 pagg. su 68.
Scarica il documento per vederlo tutto.
Appunti Programmazione ad oggetti e Java Pag. 66
1 su 68
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher daaf37b10f4971d74babdaaff77f26c9f975f601 di informazioni apprese con la frequenza delle lezioni di Programmazione ad oggetti e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Salerno o del prof Percannella Gennaro.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community