2. SOMMARIO
Tipi di dati
Classi, proprietà e metodi
Accesso a proprietà e metodi
Esempio pratico di un oggetto di uso comune: la penna
Principi della programmazione ad oggetti
Programmazione generica
Eccezioni
Esercizi
3. DATI E TIPI DI DATI
Durante l’esecuzione di un programma è necessario salvare o ottenere dati
Variabili come contenitori di dati
Esistono vari tipi di dati
Interi
Reali
Stringhe
Booleani
Definiti dal programmatore
…
I tipi determinano le operazioni che si possono fare con i dati
I dati sono identificati da un nome, che può essere scelto dal programmatore
4. CLASSI E OGGETTI
La classe definisce un nuovo tipo di dato composto
Proprietà
Contengono i dati della classe. Tutti i metodi della classe potranno accedere alle proprietà
Risponde alla domanda: cosa deve contenere l’oggetto?
Metodi
Risponde alla domanda: cosa deve fare l’oggetto? E di cosa ha bisogno per farlo?
Possono anche contenere dati, ma potranno essere utilizzati solamente nel metodo
Possono restituire valori di tutti i tipi
Diventa oggetto quando viene usato come tipo di un dato per una variabile,
una proprietà o un metodo
L’oggetto è l’istanza di una classe
5. MODIFICATORI DI ACCESSO DELLE
PROPRIETÀ E DEI METODI
Oltre a un tipo, una
proprietà o un metodo può
avere una visibilità
Alcuni linguaggi possono
supportare più tipi di
visibilità o non supportarle
affatto
Alcuni tipi di visibilità sono
Public (pubblica)
Private (privata)
Protected (protetta)
Visibilità Descrizione
Privata La proprietà o il metodo è
visibile solo all’interno della
classe che lo contiene
Pubblica La proprietà o il metodo è
visibile all’interno e
all’esterno della classe che
lo contiene
Protetta Simile alla visibilità privata,
con la differenza che il
metodo o la proprietà è
visibile anche alle classi
derivate
6. ESEMPIO PRATICO DI UN OGGETTO DI
USO COMUNE: LA PENNA
Alcune proprietà
Lunghezza : numero
Marca : stringa
Tappo : può essere visto come un oggetto a sè stante
Ha le sue proprietà e i suoi metodi
Alcuni metodi
Scrive un testo su un supporto
Disegna una figura
Scarica l’inchiostro
Metodo privato
7. PRINCIPI DELLA PROGRAMMAZIONE
AD OGGETTI
Si basa su tre principi
Ereditarietà
Una classe può ereditare proprietà e metodi da un’altra classe, purchè siano pubblici o
protetti
Esempio: i cani sono mammiferi, che a loro volta sono animali
Polimorfismo
Possono esistere più metodi che hanno lo stesso nome
Si ha un esempio nella lingua italiana nella parola «principi»
Come faccio a capire se mi riferisco alla persona o agli ideali?
Incapsulamento
La base dell’incapsulamento è la classe, che contiene i dati e il comportamento
Ad esempio, il volante agisce sulle ruote, ma non sul motore
8. PROGRAMMAZIONE GENERICA
Chiamato anche polimorfismo parametrico
I tipi di dati vengono passati come parametri
Porta vari vantaggi
Scrittura di algoritmi generici
Eliminazione del cast, e quindi una migliore leggibilità del codice
Maggiore sicurezza, perché i controlli vengono fatti durante la
compilazione e non durante l’esecuzione del programma
Può essere utilizzato con le proprietà e con i metodi
9. ECCEZIONI
Gestire comportamenti anomali
Un numero di telefono contiene anche dei caratteri
Si vuole dividere un numero per zero
Blocco try/catch
Nel try vengono inserite le istruzioni da fare normalmente
Nel catch vengono invece inserite le istruzioni da eseguire in caso si verifica
l’eccezione
Le eccezioni vengono definite in classi con postfisso «Exception»
Alcune sono già implementate (es. divisione per zero, file non trovato)
Si possono creare anche eccezioni personalizzate
10. ESERCIZI
Definire le proprietà e i metodi dei seguenti oggetti
Triangolo
Bicicletta
Serpente
Termosifone
Sole
Quali eccezioni potrebbero esserci nei seguenti scenari?
Login con username e password
Registrazione utenti
Acquisto di un prodotto