Programmazione Orientata agli Oggetti in Linguaggio Java



Похожие документы
Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Programmazione Orientata agli Oggetti in Linguaggio Java

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Procedurale in Linguaggio C++

Programmazione Orientata agli Oggetti in Linguaggio Java

20. Appunti sulle liste (gestione in linguaggio C#) 16/04/2015 Arraylist

Introduzione alla rete Internet

Programmazione Procedurale in Linguaggio C++

Web Content Management and E- Learning

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE

Basi territoriali e numeri civici come infrastrutture informative per il censimento e oltre

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015)

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Reti di calcolatori Introduzione al corso

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Algoritmi di Ricerca. Esempi di programmi Java

CORSO DI PROGRAMMAZIONE

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

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:

Realizzazione di una classe con un associazione

Algoritmi e Strutture Dati. Tipo di dato astratto e Strutture dati elementari

UML Diagrammi delle classi. UML Diagramma classi 1

Mappatura dei canali logici sui canali fisici

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

Sottoprogrammi: astrazione procedurale

Транскрипт:

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 mecca@unibas.it Ruoli e Responsabilità: C# >> Sommario Sommario In Sintesi Gli Esempi System.Collections.ArrayList System.Random Tipi Enumerati 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

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

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

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

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

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

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 {... 15 Ruoli e Responsabilità: C# >> Sommario Riassumendo In Sintesi Gli Esempi System.Collections.ArrayList System.Random Tipi Enumerati 16

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 http://creativecommons.org/licenses/by-sa/1.0/ 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 http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 17