1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-21 10:24:18 +00:00

Importa Programmazione ad oggetti da Steffo99/appunti-universitari

This commit is contained in:
Steffo 2024-06-04 10:40:38 +02:00
parent 9bdeeb2da7
commit a5c6c51f6c
Signed by: steffo
GPG key ID: 5ADA3868646C3FC0
4 changed files with 108 additions and 0 deletions

View file

@ -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.

View file

@ -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**.

View file

@ -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

View file

@ -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
- ...