Enumerazioni e Classi 1. Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano.

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Classi ed Oggetti in JAVA
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.
Unified Modeling Language
Costruttori e Distruttori
Recupero debito quarto anno Primo incontro
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.
Le gerarchie di tipi.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Introduzione al linguaggio C Dr. Francesco Fabozzi Corso di Informatica.
Fondamenti di Informatica
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Derivazione tra classi
Gestione dei Progetti Software 2 (a.a. 2004/05) - Lezione 3 1 JAVA e Internet: il World Wide Web Internet: milioni di computer collegati fra di loro attraverso.
Oggetti e dati primitivi
Approfondimento delle classi
CAPITOLO 4 LINGUAGGIO JAVA: COSTRUTTI DI BASE. ALFABETO Java adotta la codifica standard Unicode della società Unicode, Inc. (ftp://ftp.unicode.org) definito.
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.
Struct, enum, Puntatori e Array dinamici
Java base IV: Java e la programmazione O.O.
AN FI Un denominatoe comune Comandi u notazioni che esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno.
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.
Programmazione in Java (8)
Ereditarietà e Polimorfismo
2000 Prentice Hall, Inc. All rights reserved. Capitolo 10 (Deitel) Strutture, unioni ed enumerazioni Sommario Introduzione Definire le strutture.
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Sintassi base e struttura di un programma
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
Fondamenti di Programmazione Prof.ssa Elisa Tiezzi
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007 NOME: COGNOME: ________________________________________________________________________________.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 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.
I nomi in Java F. Bombi 18 novembre novembre 2003.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Polimorfismo.
Le variabili in Java Nella programmazione tradizionale, una variabile è una porzione di memoria in cui è immagazzinato un certo tipo di dato. Per esempio.
Oggetti in C# Lezione 1 Classi ed istanze Oggetti in C# - Lezione 1.
Programmazione a oggetti
CORSO DI PROGRAMMAZIONE II Lezione 22
Oggetti in C# Lezione 2 Metodi e Static Oggetti in C# - Lezione 2.
Oggetti in C# Lezione 5 Polimorfismo I Andrea Zoccheddu.
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
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.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Programmazione in Java. Classi I programmi in Java consistono di classi. Le classi consentono di definire: collezioni di procedure (metodi statici) tipi.
Metodologie di Programmazione Esercizi sulla semantica di Java.
Cose nuove di Java (prima a chiacchiera, poi formalmente)
Progettare una classe 21 Febbraio La classe BankAccount Vogliamo realizzare una classe i cui oggetti sono dei semplici conti bancari. * Identifichiamo.
Esercitazione del 9 marzo 2007 Ereditarieta’. Richiami Definire sottoclassi (ereditarieta’) Overriding Specificatori di accesso (private, protected) Principio.
LIP: 15 Marzo 2005 Vettori di interi. Esercizio proposto Definire una classe VectorInt i cui oggetti sono vettori omogenei di interi ordinati in modo.
1 Tipi di dato modificabili §a livello semantico, riconduciamo la modificabilità alla nozione di variabile l lo stato “modificabile” corrispondente sarà.
Fondamenti di informatica T-A Esercitazione 3 : Classi, metodi, visibilità, metodi statici AA 2012/2013 Tutor : Domenico Di Carlo.
Corso di Algoritmi e Strutture Dati con Laboratorio Richiami di Java – parte II.
28/12/2001package 1 Package Pacchetti e interfacce.
30/10/01Array 1  Un array e’ una struttura dati che contiene piu’ valori del medesimo tipo.  La lunghezza di un array e’ stabilita quando l’array viene.
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:

Enumerazioni e Classi 1

Enumerazioni Permettono di definire nuovi tipi che consistono in un insieme di valori costanti (ognuno con un nome) – Migliorano la leggibilità del codice – Evitano potenziali errori (gli enum non possono essere convertiti implicitamente in altri tipi di dati) – E possibile specificare il tipo di dato su cui lenum è basato, determinandone loccupazione di memoria (default int) – Si possono indicare i corrispondenti valori numerici (default 0,1,2) ed utilizzare operatori (Es: OR bit a bit) 2

3

Classi Sono gli elementi fondamentali dei programmi C# – Una classe contiene sia codice che dati: definisce un nuovo tipo di dato sia nella sua struttura che nel suo comportamento – Gli elementi contenuti in una classe (membri) possono essere: Campi : variabili che memorizzano i dati, possono essere inizializzati al momento della dichiarazione Metodi: funzioni che implementano le azioni che la classe può compiere (ne definiscono il comportamento) Proprietà: particolari metodi (set/get) accessibili come se fossero campi Altri membri: eventi, operatori, indexer Tipi annidati(interni alla classe): class, struct, delegates, enum Sono unità semantiche atomiche 4

Concetti importanti – Oggetti, ereditarietà e Polimorfismo, protezione dellaccesso(incapsulamento), interfacce 5

Classi e oggetti Due concetti differenti – Classe: è un tipo di dato ma non il dato stesso – Oggetto: è una entità concreta basata su una certa classe (si dice che un oggetto è una istanza di una classe) Crezione di un oggetto:parola chiave new Una variabile di una certa classe è un riferimento ad un oggetto di tale classe (class è un Reference Type) – Valore predefinito null: non fa riferimento ad alcun oggetto 6 p1 null p Nome Cognome Età Titolo

La classe è un Reference Type – alcune cons eguenze: – Loperatore di assegnamento copia il riferimento, non loggetto – Un oggetto passato come parametro ad una funzione è un riferimento allo stesso oggetto 7 p p1 Nome Cognome Età Titolo p param Nome Cognome Età Titolo

Protezione dellaccesso Ciascun membro di una classe può essere: – public: accessibile da qualunque altra parte del codice – protected:accessibile solo dalla classe stessa e da classi derivate – internal:accessibile solo dallassembly corrente – protected internal:accessibile solo dallassembly corrente o da classi derivate – private:accessibile solo dalle classe stessa(default) 8

Classi - Costruttore Ha lo stesso nome della classe;viene chiamato alla creazione di un nuovo oggetto della classe Se la classe non contiene alcun costruttore, ne viene fornito uno di default dal compilatore Una classe può avere più costruttori con parametri differenti: il programmatore può scegliere di volta in volta il più utile da chiamare in base al contesto 9

Proprietà Coniugano la semplicità dei campi alla flessibilità dei metodi Vi si accede come campi ma sono in realtà dei metodi – get: chiamato quando viene letta la proprietà – set: chiamato quando viene assegnato un nuovo valore alla proprietà 10

Esempio: 11

Membri statici La keyword static permette di dichiarare membri di una classe che appartengono al tipo di dati stesso; i campi static vengono detti campi di classe e non sono campi associati alle istanze bensì alla classe stessa.I metodi static, detti anche metodi di classe, non sono interpretabili come azioni sulle istanze e possono accedere unicamente ai campi di classe (non ai campi di istanza). 12

Parola chiave this La keyword this fornisce un riferimento allistanza corrente di una classe E principalmente utilizzata per – Fare riferimento a campi della classe quando vi sono variabili o parametri con lo stesso nome – Passare loggetto (istanza) corrente come parametro ad un metodo – Membri statici non possono utilizzare la keyword this (così come non possono chiamare metodi non static ed in generale fare riferimento a campi non static) 13