introduction to c#

70
Creare app native su iOS, Android, Mac & Windows in C# Introduzione a C#

Upload: guido-magrin

Post on 11-Feb-2017

338 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Introduction to C#

Creare app native su iOS, Android, Mac & Windows in C#

Introduzione a C#

Page 2: Introduction to C#

Gli speaker di oggi

Guido MagrinXamarin & Microsoft Student Partner

Xamarin Certified Developer

@GuidoMagrin

Page 3: Introduction to C#

Dove trovo le slide?

http://www.slideshare.net/guidomagrin

Page 4: Introduction to C#

Gli Xamarin Student Partner

https://www.facebook.com/XSAMilano

Page 5: Introduction to C#

Cosa impareremo oggi?

• Fondamenti di C#• Branching & Looping• Programmazione ad oggetti• Behaviors• Debugging ed Exceptions

Page 6: Introduction to C#

Chi ha giàsentito parlaredi C#?

Page 7: Introduction to C#

Breve storia di C#C# si è evoluto a partire da linguaggi come C, C++ e Java.

Page 8: Introduction to C#

Xamarin StudioPC o Mac

Plugin Visual Studio VS 2010 e

superiore

Ambienti di Sviluppo

Page 9: Introduction to C#

Fondamentidi C#

Page 10: Introduction to C#

Statements

Page 11: Introduction to C#

Commenti

Page 12: Introduction to C#

Tipi

Page 13: Introduction to C#

Tipi e Variabili

Page 14: Introduction to C#

Tipi predefiniti

Page 15: Introduction to C#

Tipi numerici

Page 16: Introduction to C#

Valori booleani

Page 17: Introduction to C#

Lavorare con le stringhe

Page 18: Introduction to C#

Concatenazione di Stringhe

Page 19: Introduction to C#

Lavorare con caratteri singoli

Page 20: Introduction to C#

Lavorare con le variabili

Page 21: Introduction to C#

Stampare variabili tramite Console

Page 22: Introduction to C#

Output complesso a Console

Page 23: Introduction to C#

Sicurezza sui Tipi

Page 24: Introduction to C#

Come nominare una variabile?

Page 25: Introduction to C#

Branching &Looping

Page 26: Introduction to C#

Scegliere tra due alternative, If

Page 27: Introduction to C#

“Switch”

Page 28: Introduction to C#

“While”

Page 29: Introduction to C#

“For”

Page 30: Introduction to C#

Programmazionead oggetti

Page 31: Introduction to C#

Cos’è la programmazione ad oggetti?

In informatica la programmazione orientata agli oggetti (OOP, Object Oriented Programming) è un paradigma di programmazione che permette di definire oggetti software in grado di interagire gli uni con gli altri attraverso lo scambio di messaggi

Page 32: Introduction to C#

Definizione di nuovi tipi

L’idea base della programmazione ad oggetti è che il programmatore possa creare nuovi tipi

Page 33: Introduction to C#

Cos’è una classe?

La classe è un costrutto di un linguaggio di programmazione usato come modello per creare oggetti

Page 34: Introduction to C#

Cosa c’è in una classe?

Una classe contiene fields e metodi

Page 35: Introduction to C#

Cos’è un field?

Un field è una variabile posseduta dalla classe che contiene il dato

Page 36: Introduction to C#

Cos’è un metodo?

I metodi sono blocchi di codice, contenenti istruzioni C#, che “lavorano” con i field della classe

Page 37: Introduction to C#

Come identificare le classi che mi servono?

Quali sono le classi che potenzialmente ci servirebbero per descrivere un’app di routing?

Le classi sono modelli di cose nel mondo reale; possiamo spesso identificare quali classi usare esaminando cosa l’app deve fare.

Page 38: Introduction to C#

Come identificare le classi che mi servono?

• Mappa• Posizione corrente• Percorso• Strada

Le classi sono modelli di cose nel mondo reale; possiamo spesso identificare quali classi usare esaminando cosa l’app deve fare.

Page 39: Introduction to C#

Cos’è un object?

Una classe definisce un template. Gli objects sono istanze di quel template.

Page 40: Introduction to C#

Come definisco una classe?

Una classe C# ha un nome e un body. Il body è limitato da { e }

Ogni classe dovrebbe essere definita nel suo file (BankAccount.cs)

Page 41: Introduction to C#

Innestamento di classi

Page 42: Introduction to C#

Classi pubbliche VS Classi private

Bisogna prestare attenzione al livello di accessibilità che si vuole garantire ad ogni singolo campo e metodo:

• Le altre classi hanno bisogno di accedere a questo campo, o è solamente utile allo svolgimento di operazioni interne alla classe?

• Le altre classi possono trarre vantaggio dall’accedere a questo metodo?

Page 43: Introduction to C#

Come creare objects?

Ogni oggetto possiede i propri field in maniera univoca

Page 44: Introduction to C#

Come accedo ai fields di un object?

Uso l’operatore “punto” per accedere (leggere o modificare) i fields di un object

Page 45: Introduction to C#

Behaviors

Page 46: Introduction to C#

Come definisco un metodo?

Un metodo è dichiarato all’interno di una classe con un nome univoco che indica di cosa si occupa il metodo

Page 47: Introduction to C#

Come accedo ad un metodo?

Devo usare l’operatore “punto” e le parentesi

Page 48: Introduction to C#

Passaggio di parametri a un metodo

I parametri di un metodo sono «pezzi aggiuntivi di informazioni» passati al metodo dal chiamante.

Page 49: Introduction to C#

Validazione di parametri

I parametri passati DEVONO essere del tipo richiesto dal metodo

Page 50: Introduction to C#

Passaggio di parametri multipli

I parametri passati ad una classe possono essere anche di tipi differenti

Page 51: Introduction to C#

Ritorno di valori da un metodo

Per ogni metodo deve essere definito il tipo ritornato. Nel caso non ritorni nulla, si usa la keyword «void»

Page 52: Introduction to C#

Overloading di un metodo

Talvolta un metodo può avere metodi con lo stesso nome ma che, a seconda dei parametri passati, adempiono a funzioni differenti

Page 53: Introduction to C#

Cos’è una property?

Una property C# consente un accesso regolato ad un determinato field

Page 54: Introduction to C#

Debugging edExceptions

Page 55: Introduction to C#

Diverse tipologie di bug

Page 56: Introduction to C#

Usare breakpoint per interrompere il programma

I breakpoint servono a interrompere l’esecuzione del programma in un punto specifico

Page 57: Introduction to C#

Modificare le condizioni di un breakpoint

Page 58: Introduction to C#

Cos’è una exception?

Un’exception serve a gestire una condizione imprevista, durante l’esecuzione del programma

Page 59: Introduction to C#

A cosa ci serve un’exception?

Page 60: Introduction to C#

A cosa ci serve un’exception?

Un’exception non gestita, solitamente, causa un crash nel programma

Page 61: Introduction to C#

Catturare un’exception

Le exception devono essere catturate in maniera da gestire il caso

Page 62: Introduction to C#

Catturare un’exception

Le exception devono essere catturate in maniera da gestire il caso

Page 63: Introduction to C#

Catturare differenti tipologie di exception

E’ possibile specificare diversi catch, a seconda dell’eccezione che si intende catturare

Page 64: Introduction to C#

Lanciare un’exception

E’ possibile generare manualmente un’exception per descrivere un problema che causerebbe l’interruzione dell’esecuzione di un metodo

Page 65: Introduction to C#

Altro su C#

Page 66: Introduction to C#

LINQ, Eventi & Delegati

Supporto a LINQ

Gestione di Eventi & Delegati

Page 67: Introduction to C#

Json.NET permette di lavorare agevolmente con stringhe in formato JSON e oggetti .NET, grazie ai metodi SerializeObject e DeserializeObject

Lavorare con i JSON

Page 68: Introduction to C#

C# con XamarinObjective-C

Differenze tra Obj-C e Xamarin C# – Classi e Metodi

Page 69: Introduction to C#

C# con Xamarin

Objective-C

Semplificazione offerta da Async/Await

Page 70: Introduction to C#

C# con XamarinJava

C# & Async con Xamarin

Click di oggetti – Android ItemClick