20
Programmazione di applicazioni UWP Dalle basi del C# alla creazione di un’applicazione UWP Cramarossa Giuseppe Microsoft Student Partner Bitontour @ ITC «Vitale Giordano» Bitonto 6-7-9-10 Marzo 2017

Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Embed Size (px)

Citation preview

Page 1: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Programmazione di applicazioni UWPDalle basi del C# alla creazione di un’applicazione UWP

Cramarossa GiuseppeMicrosoft Student Partner

Bitontour @ ITC «Vitale Giordano» Bitonto6-7-9-10 Marzo 2017

Page 2: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

sommario• Programmazione ad oggetti con riferimento al C#• Tipi di dati• Classi• Metodi• Proprietà• Modificatori di accesso di proprietà e metodi• Eccezioni

• Creazione dell’applicazione demo

Page 3: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Generalità sul C#• Linguaggio orientato agli oggetti

• Il problema da risolvere viene visto come un insieme di oggetti che si possono estendere, includere o incapsulare• Esempio: l’automobile

• Ruote, motore, volante, frizione, cambio, …

• La compilazione non produce direttamente il codice in linguaggio macchina• Viene inizialmente compilato in un linguaggio intermedio (IL – Intermediate

Language)• Viene poi esguito dal CLR

• Piattaforme su cui sviluppare in C#: tutte• Progetto Mono

Page 4: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Dati e tipi di dati• Durante l’esecuzione di un programma è necessario salvare o ottenere dati

• Variabili come contenitori di dati

• Esistono vari tipi di dati• Interi• Reali• Stringhe• Booleani• Definiti dal programmatore• …

• I tipi determinano le operazioni che si possono fare con i dati• I dati sono identificati da un nome, che può essere scelto dal programmatore

Page 5: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Alcuni Tipi di dati in c#Tipo di dato Notazione in C#

Intero* byte, short, int, long

Reale float, double

Booleano** bool

Stringa string

Tipi di dato composti classi organizzati in namespace, struct

* Anteponendo unsigned al tipo di dato, si possono assegnare solo valori senza segno (ad esempio unsigned byte)

** Può assumere solo due valori: true o false

Per approfondimenti sui tipi di dati: https://msdn.microsoft.com/it-it/library/ms228360%28v=vs.90%29.aspx e https://msdn.microsoft.com/it-it/library/ms173104.aspx

Page 6: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Classi e oggetti• La classe definisce un nuovo tipo di dato composto• Campi e Proprietà

• Contengono i dati della classe. Tutti i metodi della classe potranno accedere alle proprietà• Risponde alla domanda: cosa deve contenere l’oggetto?• I campi sono generalmente privati

• Metodi• Risponde alla domanda: cosa deve fare l’oggetto? E di cosa ha bisogno per farlo?• Possono anche contenere dati, ma potranno essere utilizzati solamente nel metodo• Possono ritornare valori di tutti i tipi

• Diventa oggetto quando viene usato come tipo di un dato per una variabile, un campo, una proprietà o un metodo• L’oggetto è l’istanza di una classe

Page 7: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Modificatori di accesso delle proprietà e dei metodi• Oltre a un tipo, un dato può avere una visibilità• Si vedranno solo public e private

Visibilità (C#) Descrizione

private La proprietà o il metodo è visibile solo all’interno della classe che lo contiene

public La proprietà o il metodo è visibile all’interno e all’esterno della classe che lo contiene

protected Simile a private, con la differenza che il metodo o la proprietà è visibile anche alle classi derivate

internal Visibile solo all’interno del namespace

Per approfondire l’argomento: https://msdn.microsoft.com/it-it/library/6tcf2h8w.aspx

Page 8: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Esempio pratico di un oggetto di uso comune: la penna• Alcune proprietà• Lunghezza : numero• Marca : stringa• Tappo : può essere visto come un oggetto a sè stante

• Ha le sue proprietà e i suoi metodi

• Alcuni metodi• Scrive un testo su un supporto• Disegna una figura• Scarica l’inchiostro

• Metodo privato

Page 9: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Esempio pratico della penna in C#

Page 10: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

eccezioni• Gestire comportamenti anomali• Un numero di telefono contiene anche dei caratteri• Si vuole dividere un numero per zero

• Blocco try/catch• Nel try vengono inserite le istruzioni da fare normalmente• Nel catch vengono invece inserite le istruzioni da eseguire in caso si verifica

l’eccezione

• Le eccezioni vengono definite in classi con postfisso «Exception»• Alcune sono già implementate (es. divisione per zero, file non trovato)• Si possono creare anche eccezioni personalizzate

Page 11: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Esempio di gestione delle eccezioni

Page 12: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

ESERCIZI• Definire le proprietà e i metodi dei seguenti oggetti• Triangolo• Bicicletta• Serpente• Termosifone• Sole

• Quali eccezioni potrebbero esserci nei seguenti scenari?• Login con username e password• Registrazione utenti• Acquisto di un prodotto

Page 13: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

L’esempio che realizzeremo - descrizione• Un semplice gestore di un portafoglio• Dati che verranno inseriti• Causale credito/pagamento• Importo• Decidere se è un credito o un pagamento

• Uso di due ListView per memorizzare i pagamenti e i crediti• Contatore con saldo attuale

Page 14: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

L’esempio che realizzeremo – progettazione classi

Page 15: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

L’esempio che realizzeremo – progettazione interfaccia

Input Causale Pagamento

Input Valore

Casella che, se spuntata, indica che il pagamento è un credito

Bottone Aggiungi Pagamento

Totale:

Lista Crediti Lista Debiti

Page 16: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

L’esempio che realizzeremo – l’interfaccia realizzata

Page 17: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Tipica esecuzione - programma

Page 18: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Progetto da svolgere• Ordinazioni di un bar• Lista dei prodotti ordinabili con relativo prezzo• Prodotti ordinati• Prezzo totale dell’ordinazione• Potete usare anche i componenti già visti

• Da fare individualmente o in gruppo• Gruppo da massimo 4 persone

Page 19: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Link per approfondire• Link inseriti nelle slide• UWP• https://msdn.microsoft.com/it-it/library/windows/apps/dn958439.aspx• https://github.com/gcramarossa/SimpleUWPWalletManager

• Demo svolta

Page 20: Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp

Grazie per l’attenzione