Programmazione Orientata agli Oggetti in Linguaggio Java
|
|
|
- Giuliano Di Giovanni
- 10 anni fa
- Просмотров:
Транскрипт
1 Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata [email protected] Ruoli e Responsabilità: C# >> Sommario Sommario In Sintesi Gli Esempi System.Collections.ArrayList System.Random Tipi Enumerati 2
2 Ruoli e Responsabilità: C# >> In Sintesi In Sintesi Nella programmazione C# valgono esattamente le stesse linee guida discusse a proposito di Java Interfaccia e implementazione incapsulamento Strati applicativi architettura di base 3 Ruoli e Responsabilità: C# >> Gli Esempi Gli Esempi >> mediapesata >> indovina >> morracinese Il codice degli esempi in C# molto simile per impostazione al codice degli esempi in Java naturalmente cambia l utilizzo delle librerie I namespace Unibas.MediaPesata Unibas.Indovina Unibas.MorraCinese 4
3 Il namespace System.Collections contiene le principali collezioni in particolare System.Collections.ArrayList implementa l interfaccia System.Collection.IList e rappresenta liste di riferimenti a Object costruite con array e indicatore di riempimento senza limite sul numero di elementi 5 I metodi Add(Object o) Insert(int i, Object o) Remove(int i) Clear() IndexOf(Object o)... 6
4 Due particolarità la proprietà Count e l indicizzatore La proprietà Count consente di conoscere il numero di elementi L indicizzatore consente di accedere agli elementi della lista come se fosse un array attraverso le parentesi [] 7 namespace Unibas.Mediapesata { public class Studente { private System.Collections.ArrayList esami = new System.Collections.ArrayList(); public void AddEsame(Esame esame) { this.esami.add(esame); public Esame GetEsame(int i) { if (i <0 i >= this.esami.count) { throw new System.IndexOutOfRangeException("Esame inesistente"); return (Esame) this.esami[i]; public int NumeroEsami { get { return this.esami.count;... l indicizzatore associato alla classe ArrayList consente di accedere alla lista come se fosse un array in Java: (Esame)this.esami.get(i) 8
5 Attenzione non esiste una versione della lista basata sulla rappresentazione collegata Altre collezioni disponibili System.Collections.Stack System.Collections.Queue System.Collections.Hashtable 9 La classe System.Random generatore di numeri casuali inizializzato utilizzando l orologio per generare la sequenza pseudo-casuale: metodo int Next(int max) 10
6 namespace Unibas.Indovina { public class Partita { private static System.Random generatore = new System.Random(); private string nome; private int numerodaindovinare; private int numeroditentativi; private bool trovato; private string suggerimento; public Partita() { this.numerodaindovinare = System.Math.Abs(Partita.generatore.Next(100) + 1); this.trovato = false; this.numeroditentativi = 0; this.suggerimento = "Ho scelto un numero tra 1 e 100. Prova a indovinarlo."; 11 Tipi Enumerati In Java tradizionalmente i tipi enumerati sono rappresentati con costanti pub. di tipo intero le enumerazioni sono disponibili da J2SE 5.0 In C# è possibile utilizzare tipi enumerati fin dalla prima versione (funzionalità nativa) anche in questo caso un tipo enumerato è una forma semplificata di classe 12
7 Tipi Enumerati Funzioni di un tipo enumerato in C# definisce un nuovo tipo di dato es: public enum Oggetto {CARTA = 1, FORBICI, SASSO; definisce un insieme di costanti statiche del tipo di dato con valore intero es: Oggetto.CARTA = 1, Oggetto.FORBICI, Oggetto.SASSO 13 public enum Oggetto {CARTA = 1, FORBICI, SASSO; public class Mano { private Oggetto giocatagiocatore; private Oggetto giocatacomputer; public void Gioca(Oggetto giocatagiocatore) { if (!IsValida(giocataGiocatore)) { throw new System.ArgumentException("Giocata non valida"); this.giocatagiocatore = giocatagiocatore; GeneraGiocataComputer(); public bool IsValida(Oggetto giocata) { return (giocata == Oggetto.CARTA giocata == Oggetto.FORBICI giocata == Oggetto.SASSO); private void GeneraGiocataComputer() { this.giocatacomputer = (Oggetto)System.Math.Abs(generatore.Next(3) + 1); 14
8 Tipi Enumerati Nota normalmente un tipo enumerato viene definito nello stesso file di una classe ed appartiene allo stesso namespace namespace Unibas.MorraCinese { public enum Oggetto {CARTA = 1, FORBICI, SASSO; public enum EsitoMano {VINTADALCOMPUTER, VINTADALGIOCATORE, INPAREGGIO; public class Mano { Ruoli e Responsabilità: C# >> Sommario Riassumendo In Sintesi Gli Esempi System.Collections.ArrayList System.Random Tipi Enumerati 16
9 Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 17
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Thread versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione XML: JDOM versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli
Sommario Introduzione Architettura Client-Server Architettura a Due Livelli Architettura a Tre Livelli Server Web Browser Web Introduzione La storia inizia nel 1989 Tim Berners-Lee al CERN, progetto WWW
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Tecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE Framework per il Modello 2 it.unibas.pinco versione 3.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
Tecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: ADO.NET versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca [email protected]
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Strumenti di Sviluppo: C# versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: C# Parte b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 7 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Riferimenti versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
20. Appunti sulle liste (gestione in linguaggio C#) 16/04/2015 Arraylist
20. Appunti sulle liste (gestione in linguaggio C#) 16/04/2015 Arraylist Esamina il codice seguente, eseguilo passo passo (F11) e rispondi ai quesiti: using System; using System.Collections; class Program
Introduzione alla rete Internet
Introduzione alla rete Internet Gruppo Reti TLC [email protected] http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
Web Content Management and E- Learning
Web Content Management and E- Learning Dott. Fabio Fioravanti [email protected] http://www.sci.unich.it/~fioravan Corso di Laurea in Economia e Management Facoltà di Scienze Manageriali UNICH - AA
SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE
SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software
Basi territoriali e numeri civici come infrastrutture informative per il censimento e oltre
Basi territoriali e numeri civici come infrastrutture informative per il censimento e oltre Istat t Direzione i Centrale Censimenti Generali Livorno, 13 maggio 2010 Censimento e territorio Il corretto
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E08 Soluzione Esercizi F. Gasparetti, C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Soluzione Esercizi
Programmazione ad Oggetti Modulo A (Esame del 11/9/2015)
Programmazione ad Oggetti Modulo A (Esame del 11/9/2015) Esercizio 1 Considerate la seguente gerarchia di classi: class A { public void print(string s) { System.out.println(s); public void m1() { print("a.m1");
Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Incapsulamento Polimorfismo e Overloading Ereditarietà e Overriding Esercizi svolti Esercizi proposti Paradigma OO Le
Reti di calcolatori Introduzione al corso
Reti di calcolatori Introduzione al corso Gruppo Reti TLC [email protected] http://www.telematica.polito.it/ RETI DI CALCOLATORI Introduzione al corso - 1 Copyright Quest opera è protetta dalla licenza
Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate
Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti
Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del
Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing
Informatica 3 LEZIONE 21: Ricerca su liste e tecniche di hashing Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing Informatica 3 Lezione 21 - Modulo 1 Algoritmi sequenziali e basati su
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
CORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE OBJECT ORIENTED PROGRAMMING: I METODI DISPENSA 15.02 15-02_OOP_Metodi_[15] Questa dispensa è rilasciata sotto la licenza Creative
Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu [email protected] Reflection in Java 1 Reflection Riflessione
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
Realizzazione di una classe con un associazione
Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe
Algoritmi e Strutture Dati. Tipo di dato astratto e Strutture dati elementari
Algoritmi e Strutture Dati Tipo di dato astratto e Strutture dati elementari 1 Argomenti della lezione Tipi di dato astratto Strutture dati elementari Liste o Implementazione di liste in Java Stack Code
UML Diagrammi delle classi. UML Diagramma classi 1
UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio
Mappatura dei canali logici sui canali fisici
Mappatura dei canali logici sui canali fisici Renato Lo Cigno www.dit.unitn.it/locigno/didattica/wn/...copyright Quest opera è protetta dalla licenza Creative Commons NoDerivs-NonCommercial. Per vedere
Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate
Sottoprogrammi: astrazione procedurale
Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j
