← Indietro
AppuntiDivisi per argomento

09 Progettazione sistematica di classi Java

Divisi per argomento di Ingegneria del Software per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Ingegneria del SoftwareDivisi per argomento

Informazioni sul documento

Cosa trovi in questo materiale

Divisi per argomento di Ingegneria del Software per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.

Contenuti estratti dal documento

Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.

Pagina 1

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…

Anteprima

Prima pagina del documento.

Prima pagina: 09 Progettazione sistematica di classi Java