iv a informatica - iis "pentasuglia" mt - 29-10-2014 - informatica e informazione

16

Click here to load reader

Upload: ugo-lopez

Post on 05-Jul-2015

157 views

Category:

Education


0 download

DESCRIPTION

Slide della lezione di Informatica del 29 ottobre 2014, classe IV A Informatica, Istituto IIS "Pentasuglia" Matera

TRANSCRIPT

Page 1: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Programmazione e Progettazione Object OrientedA.S. 2014/2015 – 28 ottobre 2014Prof. Ugo LOPEZ

Page 2: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Aspetti fondamentali di un dato

Un tipo di dato è caratterizzato da due aspetti fondamentali:

– Un insieme di valori

– Un insieme di operazioni

Page 3: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Dato astratto

Un tipo di dato astratto (ADR, Abstract Data Type) è un tipo di datocompletamente specificato indipendentemente dalla suaparticolare implementazione. Lo sviluppatore si occuperà diimplementare sia il contenuto informativo (dati o attributi) sia leoperazioni ad essa associate (metodi).

Page 4: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Caratteristiche di un dato astratto

• Definizione di un nuovo tipo di dato

• Definizione di un insieme di operazioni (interfaccia), checostituiscono l’unica modalità attraverso la quale è possibilecomunicare con il dato

• Il comportamento delle operazioni è definito mediantecondizioni prestabilite

Page 5: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Information hiding (incapsulamento)

L’incapsulamento stabilisce la netta separazione tra l’interfacciaesposta da un ADT all’esterno per essere utilizzato e la suaimplementazione interna (che deve rimanere nascosta).

Page 6: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Attributi e metodi

Possono essere:

• Pubblici (è visibile nell’interfaccia verso l’esterno)

• Privati (invisibile per l’utente dell’oggetto stesso)

Page 7: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Classe

Una classe rappresenta un modello formale per la descrizione diun certo tipo di oggetti definendone gli attributi, i metodi e lecaratteristiche dell’interfaccia.

A partire dalla definizione di una classe è possibile creare(istanziare) oggetti simili che condividono gli stessi attributi, metodie interfaccia. Ogni istanza è però un’entità autonoma.

Page 8: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Conseguenze dell’istanziazione

• Allocazione di un’area di memoria

• Inizializzazione dei valori degli attributi dell’istanza

Page 9: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Diagramma delle classi (UML)

Page 10: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Diagramma di sequenza (UML)attore

Istanza di classe

messaggi

Linee di vita (life-line)

Barre di attivazione

Page 11: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Messaggi

• Sincrono: l’emittente rimane in attesa di una risposta

• Asincrono: la risposta può arrivare eventualmente in qualsiasimomento, per cui l’emittente non rimane in attesa di unarisposta

Page 12: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Ereditarietà

Si definisce ereditarietà il meccanismo sulla base del quale sidefiniscono nuove classi a partire da classi già esistenti,ereditandone le caratteristiche, aggiungendone di nuove oridefinendone alcune. Attraverso l’ereditarietà è possibile crearegerarchie di classi.

La classe generale di partenza si chiama classe base osuperclasse, mentre le classi estese prendono il nome di classiderivate o sottoclassi. A loro volta, le classi derivate posso esseresuperclassi per altre classi.

In un diagramma di classe il concetto di ereditarietà prende ilnome di generalizzazione.

Page 13: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Polimorfismo

Attraverso il polimorfismo è possibile ottenere comportamenti erisultati diversi invocando gli stessi metodi a carico di oggettidiversi.

È una diretta conseguenza dell’ereditarietà, consentendo diridefinire i metodi generali della superclasse.

Page 14: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Metodi astratti e classi astratte

Una classe base può limitarsi a definire la firma di alcuni metodi(interfaccia) tralasciando l’implementazione che riserva alle classiderivate. Tali metodi prendono il nome di metodi astratti.

Una classe che presenta uno o più metodi astratti si definisceclasse astratta. Una classe astratta viene definita al solo scopo diistanziare sottoclassi.

Page 15: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Associazioni tra classi

• Dipendenza o associazione d’uso

– Variazioni di un elemento (fornitore) possono avere influenza su un altro elemento (cliente)

• Generalizzazione

– Rappresenta l’ereditarietà classica

• Composizione

– Associazione tutto-parti (has-A)

• Aggregazione

– Associazione tutto-parti meno forte della composizione

Page 16: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione

Notazioni grafiche