Lezione IX Laboratorio di Programmazione. Le Classi Una classe C++ è definita come segue: class Nomeclasse { private: // metodi e attrib. visibili solo.

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.
Oggetti Java.
Costruttori e Distruttori
Università di camerino
Informatica 2 Lezione 4 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni.
26/10/2004Laboratorio di Programmazione - Luca Tesei1 Variabili e Oggetti Lo spazio di memoria di Java Le API di Java.
Programmazione object oriented in C++
1 Semantica Operazionale di un frammento di Java: lo stato.
Classi ed Oggetti in Java (Cenni). Richiami Ruolo delle Classi in Java Oggetti.
MultiSet, Liste Ordinate
Fondamenti di Informatica
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Costruzione di Interfacce Lezione 11 Dal Java al C++ parte 2
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Lezione XIII Lu 17-Nov-2005 Programmare le classi.
Derivazione tra classi
Soluzione Esercizio - Classe Vettore
Approfondimento delle classi
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 sesta settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Lezione XII Laboratorio di Programmazione. Eccezioni Per la gestione di operazioni che possono non andare a buon fine il C++ mette a disposizione un sistema.
Lezione XI Laboratorio di Programmazione. Ereditarieta Fondamentale proprieta dei linguaggi OO. Permette di specificare un nuova classe derivata da unaltra.
Lezione III Laboratorio di Programmazione. while e do while do S1; while(E); //S1 e eseguita almeno 1 volta E = vero? SI NO S1 while (E) S1; E = vero?
Java base IV: Java e la programmazione O.O.
Le funzioni a tempo di esecuzione
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
void binario(int n); …………………
Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.
Passaggio di parametri per indirizzo
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
I metodi F. Bombi Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare.
Matrici: un’implementazione parametrica in C++
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Programmazione a oggetti
CORSO DI PROGRAMMAZIONE II Lezione 22
ESERCITAZIONE 12 ESERCIZIO 2 14/05/2014. Consegne 1/4 Definire la classe MyBufferedReader che estende la classe BufferedReader, implementando il metodo.
Programmazione ad oggetti
Oggetti in C# Lezione 2 Metodi e Static Oggetti in C# - Lezione 2.
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.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
CORSO DI PROGRAMMAZIONE II
Gestione dei thread in Java
Programmazione in Java
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Metodologie di Programmazione Esercizi sulla semantica di Java.
Lezione X Laboratorio di Programmazione. Struttura di un programma Definizione classe e specifica (parziale) classe.hclasse.cpp main.cpp Specifica metodi.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Strutture e Classi.
ESERCITAZIONE Problema Scrivere una funzione che scambi due interi non opera su oggetti  funzione statica scritta dentro a una classe contenitore.
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
Fondamenti di informatica T-A Esercitazione 3 : Classi, metodi, visibilità, metodi statici AA 2012/2013 Tutor : Domenico Di Carlo.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Stringhe in Java. Definire una stringa. Definire una stringa in Java Il modo più semplice e diretto per creare un oggetto di tipo String è assegnare alla.
Introduzione alle Classi e agli Oggetti in Java 1.
Esercitazioni di C++ 31 dicembre 2018 Claudio Rocchini IGMI.
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Lezione IX Laboratorio di Programmazione

Le Classi Una classe C++ è definita come segue: class Nomeclasse { private: // metodi e attrib. visibili solo nella classe public: // metodi accessibili dallesterno // buona norma no attributi public (black box) };

Attributi Gli attributi generalmente vengono specificati come normali variabili private. class Nomeclasse { private: int n; char c; };

Metodi 1 I metodi possono essere specificati in due modi diversi: class Nomeclasse { public: void metodo (parametri…) { //corpo del metodo } };

Metodi 2 Il secondo modo usa una definizione usando loperatore di scope resolution ::. class Nomeclasse { public: void metodo (parametri…); }; void Nomeclasse::metodo (parametri…) { // corpo del metodo }

Costruttori e distruttori class className { private: int a; public: className(int init = 0) //costruttore (con default =0) { a=init; } ~className() //distruttore { // eventuali operazioni in chiusura } //nel main... className obj1(1); className obj2; //loggetto prende i valori di default

Operatori class className { private: int a; public: className operator+(className obj1) //per gestire this + obj1 { className temp; temp.a=a+obj1.a return temp; } Se loperaratore è della classe, il primo operando (a sinistra) è sottointeso.

Operatori class className { private: int a; public: ) void stampa(ostream& str); } ostream& operator <<(ostream& str, className obj1) { obj1.stampa(str); return str; } Se loperaratore non è della classe, bisogna esprimere tutti i parametri.

Constants E possibile dichiarare un oggetto costante: in questo caso non potrà essere modificato durante lesecuzione. Per es. const classe oggetto; E possibile dichiarare un metodo di una classe constante: significa che il metodo (ed eventuali chiamate interne) non modificherà loggetto. Per es. void classe::metodo (...) const;

Constants Buona norma con i passaggi per riferimento è di aggiungere const class className { private: int a; public: void metodo1(const className& obj1) { //usa obj1 senza modificarlo } void metodo2(className obj1) { //usa obj1, eventuali modifiche locali al metodo } void metodo3(className& obj1) { //modifiche di obj1 si applicano anche alloggetto originale }

Struttura di un programma Definizione classe e specifica (parziale) classe.hclasse.cpp main.cpp Specifica metodi mancanti in classe.h usando op. di scope resolution :: Include classe.h

Struttura di un programma (2) //file class.cpp #include class.h void c::prova() { //corpo funzione } //file class.h class c { public: void prova(); } //file main.cpp #include class.h void main() { c oggetto; oggetto.prova(); }