iv a informatica - iis "pentasuglia" mt - 29-10-2014 - informatica e informazione
DESCRIPTION
Slide della lezione di Informatica del 29 ottobre 2014, classe IV A Informatica, Istituto IIS "Pentasuglia" MateraTRANSCRIPT
![Page 1: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/1.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/2.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/3.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/4.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/5.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/6.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/7.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/8.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/9.jpg)
Diagramma delle classi (UML)
![Page 10: IV A Informatica - IIS "Pentasuglia" MT - 29-10-2014 - Informatica e Informazione](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/10.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/11.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/12.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/13.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/14.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/15.jpg)
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](https://reader038.vdocuments.site/reader038/viewer/2022100518/5599570c1a28ab89408b480e/html5/thumbnails/16.jpg)
Notazioni grafiche