Programmazione ad oggetti e tipi di dati astratti con il C++

Franco Crivellari

Programmazione ad oggetti e tipi di dati astratti con il C++

Edizione a stampa

40,50

Pagine: 416

ISBN: 9788820499204

Edizione: 2a edizione 1997

Codice editore: 700.11

Disponibilità: Esaurito

II libro presenta il C++ come linguaggio di programmazione orientata agli oggetti e introduce il lettore nella progettazione e costruzione di tipi di dati astratti. Si presuppone da parte del lettore una conoscenza della tradizionale programmazione di tipo procedurale. II testo può essere usato come ausilio in un corso universitario di programmazione centrato sul paradigma orientato agli oggetti. Particolare cura è stata rivolta nel presentare e nel discutere gli aspetti che rendono questo paradigma, e con esso il linguaggio, uno strumento adatto alla progettazione e alla costruzione di software riutilizzabile. In quest'ottica viene affrontata la progettazione di tipi di dati astratti e delle varianti realizzative che possono essere adottate.

II volume presenta:

* le strutture linguistiche fondamentali necessarie a definire e costruire nuovi tipi di dati, e a progettare le operazioni che potranno essere applicate. Viene discussa la capacità di riutilizzare gli operatori del linguaggio e di modificare la loro semantica operativa;

* le problematiche relative alla costruzione di tipi di dati generici;

* i concetti di ereditarietà e di polimorfismo e le strutture linguistiche necessarie al loro utilizzo. Particolare cura è stata posta nel mostrare come l'ereditarietà costituisca un mezzo indispensabile per il riuso del software;

* alcune tra le strutture dati fondamentali (liste, alberi, dizionari ecc.), e la loro realizzazione tramite i tipi di dati astratti. Vengono esaminate differenti strutture interne evidenziandone pregi e difetti.

Franco Crivellari, titolare del corso di Fondamenti di Informatica presso la Facoltà di Psicologia dell'Università di Padova, da più anni insegna anche nel corso di Laurea in Ingegneria Gestionale dello stesso ateneo. Si interessa di programmazione e di progettazione orientata agli oggetti nelle basi di dati, di programmazione di basi di dati non strutturate utilizzabili in ambiti geografici e scientifici o nella gestione di documenti. Ha pubblicato Elementi di programmazione con il C++ (Angeli, 1996).


Introduzione
1. PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
1.1. CARATTERISTICHE
1.1.1. Dati di tipo astratto
1.1.2. Operando con gli oggetti
1.1.3. Spostamento del Punto di Vista
1.2. IL C++ COME LINGUAGGIO ORIENTATO AGLI OGGETTI
1. 3. PREGI E DIFETTI DEL C++ COME LINGUAGGIO 0-0
2. LE CLASSI
2.1. LE CLASSI E I TIPI DI DATI ASTRATTI
2.2. DEFINIZIONE DI UNA CLASSE
2.3. COMPONENTI DATO E COMPONENTI FUNZIONALI
2.3.1. Funzioni componenti la classe (o Member Function)
2.4. FUNZIONI FRIEND DI UNA CLASSE
2.4.1. Quando utilizzare le funzioni friend
2.4.2. Classi friend
2.5 SCOPE DI UNA CLASSE
2 5 1 Classi Interne e Classi Locali
2. 6 L'ARGOMENTO IMPLICITO "THlS"
2.7. COSTRUTTORI E DISTRUTTORI
2.7 II costruttori
2.7.2. I distruttori
2.7.3. Oggetti temporanei senza nome
2.8. ARRAY DI OGGETTI
2.9. CLASSI CON VARIABILI DI ISTANZA DI TIPO CLASSE
2.10. COMPONENTI "STATIC"
2.11. COMPONENTI "CONST"
2.12. INIZIALIZZAZIONE DI OGGETTI
2.12.1. II costruttore di copia X::X (constX&)
2.13. IL TIPO UNION
2.14. ESERCIZI E DOMANDE
3. OVERLOADING DEGLI OPERATORI
4. DEFINIZIONE DI CLASSI GENERICHE: TEMPLATE DI CLASSI
4.1. SPECIALIZZAZIONE DELLE FUNZIONI COMPONENTI UNA CLASSE
4.2. DICHIARAZIONE DI COMPONENTI STATICHE DI UN TEMPLATE
4.3. DICHIARAZIONI FRIEND IN TEMPLATE DI CLASSE
5. DERIVAZIONE DI CLASSI
5.1. INTRODUZIONE ALL'EREDITARIETÀ
5.2. DEFINIZIONE DI CLASSI MEDIANTE DERIVAZIONE
5.3. FORME DI DERIVAZIONE: "PUBLIC","PROTECTED" E "PRIVATE"
5.4 I COSTRUTTORI E DISTRUTTORI NELLE CLASSI DERIVATE
5.5. CONVERSIONI DI TIPO NELLA DERIVAZIONE
5.6. REGOLE DI ACCESSIBILITÀ E DI SCOPE NELLA DERIVAZIONE
5.7. INIZIALIZZAZIONE PER COPIA E ASSEGNAZIONE NELLA DERIVAZIONE
5.8. FUNZIONI VIRTUALI E POLIMORFISMO
5.9. COSTRUTTORI E DISTRUTTORI VIRTUALI
5.10. FUNZIONI VIRTUALI PURE E CLASSI ASTRATTE
5.11. "TEMPLATE" NELLA DERlVAZlONE
5.12. DERIVAZIONE A PARTIRE DA UNA CLASSE GENERICA
6. DERIVAZIONE MULTIPLA DI CLASSI
6.1. COSTRUTTORI E DISTRUTTORI
6.2. CLASSI BASE VIRTUALI
7. STRUTTURE ASTRATTE FONDAMENTALl
7.1. IL TIPO DI DATO ASTRATTO "LISTA"
7.1.1. Creazione di una Lista generica
7.1.2. Creazione di Liste specializzate
7.2. IL TIPO DI DATO ASTRATTO PILA O STACK
7.3. IL TIPO DI DATO ASTRATTO CODA
7.4. LE STRUTTURE AD ALBERO
7.4.1. Il tipo di dato astratto Albero Binario di Ricerca
7.5. I DIZIONARI
7.5.1. Il tipo di dato astratto Tabella Hash
7.5.2. Hash Aperto
7.5.3. Hash Chiuso
7.5.4. L'operazione di Rehash
7.6. ESERCIZI E DOMANDE
7.7. APPENDICE
8. LA LIBRERIA STANDARD DI I/O DEL C++
8.1. LA CLASSE IOS
8.1.1. Indicatori di stato
8.1.2. Indicatori di formato
8.2. LA CLASSE OSTREAM
8.3. OVERLOADING DELL'OPERATORE DI INSERZIONE "()
8.4. LA CLASSE ISTREAM
8.4.1. Overloading dell'operatore di estrazione "()
8.5. I MANIPOLATORI
8.6. I/O DI FILES
8.7. STREAM DI STRINGHE

Collana: Informatica

Livello: Textbook, strumenti didattici - Testi per professional