Lezione XI Laboratorio di Programmazione. Ereditarieta Fondamentale proprieta dei linguaggi OO. Permette di specificare un nuova classe derivata da unaltra.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Funzioni In C++ le funzioni sono caratterizzate da un nome, dal tipo della variabile ritornata e da una lista di parametri (opzionali) La lista dei parametri.
Funzioni Friend Come abbiamo visto non possiamo accedere a membri privati di una classe dall'esterno della classe. Ma a volte abbiamo bisogno di farlo.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unit à B2 Gli oggetti: concetti avanzati.
Unified Modeling Language
Recupero debito quarto anno Primo incontro
Recupero debito quarto anno Secondo incontro
Informatica Recupero debito quarto anno Terzo incontro.
UML: Class Diagram 1 Corso IS I /03
MultiSet, Liste Ordinate
Le gerarchie di tipi.
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
Introduzione al linguaggio C Dr. Francesco Fabozzi Corso di Informatica.
SISSIS MODULO DI JAVA PER LA CLASSE IV DELL’ITI
Fondamenti di Informatica
Introduzione al linguaggio C++ 5 lezioni
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
Introduzione al linguaggio Java
Derivazione tra classi
Overriding.
Progettazione dei Sistemi Interattivi (A.A. 2004/05) - Lezione 4 1 Sulla realizzazione dellereditarietà 4 Ereditarietà: statica / dinamica 4 Binding: statico.
UML: Class Diagram Corso IS I /03
Dichiarazione di classi Programmazione Corso di laurea in Informatica.
1 Le gerarchie di tipi. 2 Supertipi e sottotipi 4 un supertipo –class –interface 4 può avere più sottotipi –un sottotipo extends il supertipo ( class.
Lab. Calc. AA 2005/061 Classi. Lab. Calc. AA 2005/062 C e C++ Fino a questo punto abbiamo introdotto gli elementi base di qualsiasi linguaggio di programmazione,
Lab. Calc. 2005/06 Ereditarietà. Lab. Calc. 2005/06 Scopo di questa lezione: Imparare a creare nuove classi ereditando da classi già esistenti. Capire.
1 laboratorio di calcolo II AA 2003/04 quinta settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
1 laboratorio di calcolo II AA 2003/04 quarta settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
1 Ereditarietà Una classe può essere derivata da una classe esistente usando la sintassi: public, protected e private specificano il tipo di accesso ai.
Lezione IX Laboratorio di Programmazione. Le Classi Una classe C++ è definita come segue: class Nomeclasse { private: // metodi e attrib. visibili solo.
Java base IV: Java e la programmazione O.O.
IL TEMA DELLA RIUSABILITÀ Si vuole riusare tutto ciò che può essere riusato (componenti, codice, astrazioni) Non è utile né opportuno modificare codice.
IL TEMA DELLA RIUSABILITÀ Si vuole riusare tutto ciò che può essere riusato (componenti, codice, astrazioni) Non è utile né opportuno modificare codice.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Programmazione in Java (8)
AlgoLab - Ereditarieta' Ereditarietà e polimorfismo in Java Laboratorio di Algoritmi 02/03 Prof. Ugo de Liguoro.
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Problema dei Contratti Telefonici
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Ereditarietà.
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Esercitazione Ereditarietà Polimorfismo. Entita’ Geometrica PuntoCerchioPoligono TriangoloQuadrilatero Rettangolo Quadrato.
Corso JAVA Lezione n° 10 Istituto Statale di Istruzione Superiore “F. Enriques”
1 Un esempio con iteratore: le liste ordinate di interi.
Oggetti in C# Lezione 2 Metodi e Static Oggetti in C# - Lezione 2.
Programmazione ad oggetti
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 11 Ereditarietà in C++
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Fondamenti di Informatica II Ingegneria Informatica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
1 Principio di sostituzione Se un oggetto di tipo S può essere sostituito ovunque ci si aspetti un oggetto di tipo T, allora S è una sottoclasse corretta.
Ese 1 (del 31 Marzo 2004). Il compilatore Non esegue il programma, non guarda i valori che possono assumere di volta in volta le variabili, non fa assunzioni.
LIP: 9 Maggio Esercizi Riprendiamo un esercizio proposto Definire un tipo di dato Persona che definisce oggetti che rappresentano le informazioni.
Programmazione in Java. Classi I programmi in Java consistono di classi. Le classi consentono di definire: collezioni di procedure (metodi statici) tipi.
Esercitazione del 7 marzo 2008 Ereditarieta’. Esercizio: soluzione Implementare la seguente specifica che definisce un tipo di dato Libro.
Cose nuove di Java (prima a chiacchiera, poi formalmente)
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Esercitazione. Problema Vogliamo definire in modo gerachico un tipo di dato che definisce Tabelle multi-dimensionali con un numero di righe variabili.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
Esercizi iteratori. Matrice import java.util.Iterator; public class MatrixIterator implements Iterator { private Matrix matrix; private int currentRow.
Fondamenti di informatica T-A Esercitazione 5 : Stringhe ed array AA 2012/2013 Tutor : Domenico Di Carlo.
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
La programmazione ad oggetti
28/12/2001package 1 Package Pacchetti e interfacce.
Introduzione all’Ereditarietà Pietro Palladino. Richiami UML Classe: descrizione di un insieme di oggetti software con caratteristiche simili Definisce.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Lezione XI Laboratorio di Programmazione

Ereditarieta Fondamentale proprieta dei linguaggi OO. Permette di specificare un nuova classe derivata da unaltra. Classe A Classe B B e sottoclasse di A A e superclasse di B B aggiunge i propri metodi e attributi a quelli di A. Sintassi: class B: public A;

Ereditarieta Ad esempio: CPoligono CRettangoloCTriangolo class CRettangolo : public CPoligono; class CTirangolo : public CPoligono; int base,altezza; Metodo area diverso!

Public, private e protected Classe A Classe B public: int x; private: int y; protected: int z; Classe C La keyword protected si comporta come public anche per le sottoclassi, mentre con le altre si comporta come private. (utile per accedere ad attributi della superclasse) C vede solo A.x B vede A.x e A.z

Esempio class CPoligono { protected: int base,altezza; public: void valori (int a, int b); }; class CRettangolo: public CPoligono { public: int area (void) { return (base * altezza); } }; class CTriangolo: public CPoligono { public: int area (void) { return (base * altezza / 2); } };

Ereditarieta multipla Permette di specificare un nuova classe che dispone di metodi ereditati contemporaneamente da piu classi. Classe AClasse B Sintassi: class C: public A, public B; Classe C

Ereditarieta multipla Sempre un esempio con i poligoni: RomboRettangolo Quadrato

Ereditarieta multipla CPoligono CRettangoloCTriangolo COutput class COutput { public: void output (int i); }; class CRettangolo: public CPoligono, public COutput {... }; In questo caso un oggetto X della classe CRettangolo avra a disposizione: X.area e X.output(...)

Esercizio Persona StudenteProfessore Corso Modellare le classi persona, professore, studente e corso. Scrivere un programma per la ricerca degli alunni che seguono il corso del prof x. Nome, cognome Matricola Corsi seguiti Ufficio Corso impartito