31. 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
32. Definizione di nuovi tipi
L’idea base della programmazione ad oggetti è che il programmatore possa
creare nuovi tipi
33. Cos’è una classe?
La classe è un costrutto di un linguaggio di programmazione usato come
modello per creare oggetti
34. Cosa c’è in una classe?
Una classe contiene fields e metodi
35. Cos’è un field?
Un field è una variabile posseduta dalla classe che contiene il dato
36. Cos’è un metodo?
I metodi sono blocchi di codice, contenenti istruzioni C#, che “lavorano” con
i field della classe
37. 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.
38. 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.
39. Cos’è un object?
Una classe definisce un template. Gli objects sono istanze di quel template.
40. 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)
42. 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?
50. Passaggio di parametri multipli
I parametri passati ad una classe possono essere anche di tipi differenti
51. 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»
52. 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
63. Catturare differenti tipologie di exception
E’ possibile specificare diversi catch, a seconda dell’eccezione che si intende catturare
64. Lanciare un’exception
E’ possibile generare manualmente un’exception per descrivere un problema
che causerebbe l’interruzione dell’esecuzione di un metodo
66. LINQ, Eventi & Delegati
Supporto a LINQ
Gestione di Eventi & Delegati
67. Json.NET permette di lavorare agevolmente con stringhe in formato JSON e
oggetti .NET, grazie ai metodi SerializeObject e DeserializeObject
Lavorare con i JSON
LINQ consente di eseguire query e selezionare dati da array e database come SQLite
Inoltre potremo lavorare con IntelliSense e le espressioni Lambda
Xamarin Studio
PC -> Android
Mac -> iOS, Android, Mac
Visual Studio: iOS, Android Windows
LINQ consente di eseguire query e selezionare dati da array e database come SQLite
Inoltre potremo lavorare con IntelliSense e le espressioni Lambda
Questo è un esempio di come si crea una classe, in objective-C, paragonata al C#. E’ una classe che mi consente di salvare un nome e ottenerlo
Tutto quell codice che vedete in Objective-C diventa una riga sola usando LINQ in C#, per non parlare delle properties di getters e setters
Here is an example of creating a class with a method to get names
1 Line with LINQ to execute this command
Take advantage of C# features and set properties easily
Si aggiungono metodi agli oggetti con “+=“ e non abbiamo bisogno di implementare i listener su ogni oggetto, i listener sono caratteristici di Java e quindi Android.
Lettura del parametro args