Lezione 10 - Programmazione ad oggetti

10

Click here to load reader

Transcript of Lezione 10 - Programmazione ad oggetti

Page 1: Lezione 10 - Programmazione ad oggetti

PROGRAMMAZIONE AD OGGETTIGIUSEPPE CRAMAROSSAALTERNANZA SCUOLA-LAVORO @ LICEO SCIENTIFICO «G. GALILEI» BITONTO11 FEBBRAIO 2017

Page 2: Lezione 10 - Programmazione ad oggetti

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

Page 3: Lezione 10 - Programmazione ad oggetti

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

Page 4: Lezione 10 - Programmazione ad oggetti

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

Page 5: Lezione 10 - Programmazione ad oggetti

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à DescrizionePrivata La proprietà o il metodo

è visibile solo all’interno della classe che lo

contienePubblica La proprietà o il metodo

è visibile all’interno e all’esterno della classe

che lo contieneProtetta Simile alla visibilità

privata, con la differenza che il metodo o la proprietà è visibile

anche alle classi derivate

Page 6: Lezione 10 - Programmazione ad oggetti

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

Page 7: Lezione 10 - Programmazione ad oggetti

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

Page 8: Lezione 10 - Programmazione ad oggetti

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

Page 9: Lezione 10 - Programmazione ad oggetti

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

Page 10: Lezione 10 - Programmazione ad oggetti

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