Document information
- University
- Politecnico di Milano
- Degree programme
- Computer Engineering
- Subject
- Ingegneria del Software
- Material language
- Italian
- Classification
- Notes · By topic
- Original format
- Text
- Searchable text
Study material for Ingegneria del Software, shared by the Studwiz community and reviewed by moderators.
Study material for Ingegneria del Software, shared by the Studwiz community and reviewed by moderators.
Import quality: text was extracted directly from the original document.
Representative passages recognised in different parts of the material. The full extracted text remains available to search, while this compact preview makes the page easier to read.
Progettazione sistematica di classi Java Specifica di astrazioni sui dati 2 Abstraction by specification sui dati • Un nuovo tipo di dato per cui siano stati specific ati valori e operazioni possibili (“tipo di dato astratto”, ADT, abstract data type) è anche detto data abstraction o semplicemente tipo . • Astraendo dai dettagli di rappresentazione dei val ori e d’implementazione delle operazioni, il resto del pr ogramma dipende solo dalla specifica del tipo! – favori sce lo sviluppo indipendente di diverse parti del programma – limita l’impatto di eventuali delle modifiche (che rimangono localizzate all’implementazione del tipo a patto che non cambi la specifica) – permette di rimandare i dettagli implementativi e di rappresentazione a fasi più avanzate dei progetti 2 Specifica di interfaccia di un ADT • La signature del metodo (o il costrutto interface) definiscono solo la sintassi dei metodi • Per la semantica, non basta specificare i metodi come procedural abstractions, perchè questi agiscono sulle variabili di stato 4 Abstraction by Specification e ADT in Java • ADT divide specifica (“che cosa”) da implementazione (“come”) • Le classi sono l’equivalente degli ADT nei linguaggi OO • Tuttavia la separazione fra specifica e implementazion e introdotta dalle classi Java non è sempre sufficiente – non vi sono modi espliciti per dividere specifica e implementazione – Come specificare il tipo? È sufficiente specificare i metodi con le procedural abstractions? Ma questi agiscono sulle variabili di stato... – anche dichiarando le variabili di stato come private, in Java si possono definire metodi pubblici che consentono agli utilizzatoridella classe di costruire codice dipendente dall’implementazione (“esporre il rep ”) • I meccanismi di Java, assieme a JML, tuttavia…
First page of the document.