mirror of
https://github.com/Steffo99/appunti-magistrali.git
synced 2024-11-21 18:34:18 +00:00
Importa Programmazione ad oggetti da Steffo99/appunti-universitari
This commit is contained in:
parent
9bdeeb2da7
commit
a5c6c51f6c
4 changed files with 108 additions and 0 deletions
|
@ -0,0 +1,49 @@
|
|||
# Programmazione ad Oggetti
|
||||
|
||||
Docente: **Giacomo Cabri** ([email](mailto:giacomo.cabri@unimore.it)), **Nicola Capodieci** ([email](mailto:nicola.capodieci@unimore.it))
|
||||
|
||||
[Pagina del corso](http://didattica.agentgroup.unimore.it/wiki/index.php/Programmazione_ad_Oggetti) (password: `pogill`)
|
||||
|
||||
Crediti: **9 CFU**
|
||||
|
||||
Orario di ricevimento: **Lunedì dalle 15:00 alle 17:00**
|
||||
|
||||
## Materiale
|
||||
|
||||
Libri:
|
||||
- Programmazione a oggetti in Java: dai fondamenti a Internet, G. Cabri, F. Zambonelli (ISBN: ?)
|
||||
|
||||
Millemila altri testi elencati sul sito
|
||||
|
||||
## Esame
|
||||
|
||||
Due prove:
|
||||
|
||||
- Prova scritta (34% del voto)
|
||||
- Progetto (66% del voto)
|
||||
|
||||
### Prova scritta
|
||||
|
||||
E' uno sbarramento, una prova facile in cui si deve implementare con carta e penna un'entità di base di Java con il polimorfismo.
|
||||
|
||||
Passando la prova scritta, si è ammessi al Progetto.
|
||||
|
||||
#### Regole
|
||||
|
||||
Iscriversi entro 3 giorni dalla data dell'appello.
|
||||
|
||||
Il voto della prova scritta vale 1 anno.
|
||||
|
||||
Consegnare uno scritto sovrascrive il voto precedente; ci si può ritirare per non sovrascrivere il voto.
|
||||
|
||||
### Progetto
|
||||
|
||||
A una certa data, i prof. pubblicheranno una traccia per il progetto da sviluppare; sarà poi valutato codice e presentazione all'orale.
|
||||
|
||||
Conterrà incapsulamento, ereditarietà, polimorfismo, interfaccia grafica, input/output e generics.
|
||||
|
||||
Richiede documentazione autogenerata in HTML.
|
||||
|
||||
Portare sorgenti, compilati, documentazione.
|
||||
|
||||
E' possibile presentare qualcosa di diverso dalla proposta del docente, ma deve essere approvato.
|
|
@ -0,0 +1,29 @@
|
|||
# Introduzione agli oggetti
|
||||
|
||||
Per rendere più comoda la scrittura di codice, dobbiamo avere un meccanismo che protegga alcune componenti del codice dal misuso.
|
||||
|
||||
Supponiamo di voler implementare un contatore.
|
||||
|
||||
Esso avrà:
|
||||
|
||||
- 1 attributo
|
||||
- Valore contatore
|
||||
- 3 operazioni
|
||||
- Definizione
|
||||
- Incremento
|
||||
- Lettura
|
||||
|
||||
Devo prevenire tutte le operazioni all'infuori di queste, come il decremento.
|
||||
|
||||
In C non possiamo farlo: nulla impedisce al programmatore di fare ad esempio `cont++`!
|
||||
|
||||
Ci serve allora una soluzione.
|
||||
Immaginiamoci un linguaggio che abbia costrutti per:
|
||||
|
||||
- livelli più alti di astrazione
|
||||
- protezione migliore dei dati
|
||||
- migliore riutilizzo del codice
|
||||
|
||||
Vogliamo che ci dia un errore se viene eseguito `cont++`, ad esempio.
|
||||
|
||||
Vogliamo definire dei **vincoli**.
|
|
@ -0,0 +1,9 @@
|
|||
# Java Development Kit (JDK)
|
||||
|
||||
I tools forniti dal JDK sono:
|
||||
|
||||
- `javac`, il compilatore
|
||||
- `java`, un interprete
|
||||
- `jdb`, il debugger
|
||||
- `appletviewer`, un visualizzatore di applet
|
||||
- tanti altri
|
|
@ -0,0 +1,21 @@
|
|||
# Tipi del Java
|
||||
|
||||
## Primitivi
|
||||
|
||||
- byte (8 bit)
|
||||
- short (16 bit)
|
||||
- int (32 bit)
|
||||
- long (64 bit)
|
||||
- float (IEEE 754 | 32 bit)
|
||||
- double (IEEE 754 | 64 bit)
|
||||
- char (UTF-16)
|
||||
- boolean (1 bit)
|
||||
|
||||
## Wrapper
|
||||
|
||||
Esistono classi Wrapper che trasformano i dati primitivi in delle classi:
|
||||
|
||||
- Byte
|
||||
- Short
|
||||
- Integer
|
||||
- ...
|
Loading…
Reference in a new issue