Oggetti e tipi di dato

La terza lezione del tutorial sun su javaFX é dedicata ai concetti di classe e oggetto.

Ecco un esempio di classe fx:

public class Address {
public var street: String;
public var city: String;
public var state: String;
public var zip: String;
}

Il punto e virgola a fine riga é opzionale, ma per chi abbia java nel suo background viene più naturale mettercelo.

Per definire un oggetto di tipo Address farò così:

def myAddress = Address {
street: "1 Main Street";
city: "Santa Clara";
state: "CA";
zip: "95050";
}

Ma lasciamo un attimo in sospeso classi e oggetti e passiamo a vedere i tipi di dato, ovvero la quarta lezione.

String

Una stringa può essere delimitata indifferentemente da singoli o doppi apici, e all'interno di una stringa é possibile quotare espressioni mettendole tra parentesi graffe:

var hi = 'Hello';
def name = "Joe";
var s1 = "{hi} {name}"; // s1 = 'Hello Joe'

A sua volta un espressione contenuta in una stringa può contenere stringhe, e così via:

def answer = true;
var s2 = "The answer is {if (answer) "Yes" else "No"}"; // s = 'The answer is Yes'

Un semplice modo per unire due stringhe é questo:

def one = "This example ";
def two = "joins two strings.";
def three = "{one}{two}";
println(three); // 'This example joins two strings.'

Number e Integer

Ci pensa il compilatore a scegliere il tipo appropriato delle nostre variabili e costanti, e questo vale anche nella scelta tra interi e reali, in ogni caso possiamo esplicitare la scelta dichiarando il tipo di variabile (nell'esempio a seguire, le righe commentate avrebbero lo stesso effetto delle righe precedenti):

def numOne = 1.0; // Number
// def numOne : Number = 1.0;
def numTwo = 1; // Integer
// def numTwo : Integer = 1;

Nota che con javaFX sono diventati disponibili tutti i tipi numerici di java (Byte, Short, Number, Integer, Long, Float, Double, Character), anche se si consiglia di non abusare della nuova libertà.

Boolean

Il tipo Boolean rappresenta due valori: true e false.

var isAsleep = true;

Duration

Usato per specificare una durata in unità temporali. Se ne parlerà meglio più avanti.

5ms; // 5 millisecondi
10s; // 10 secondi
30m; // 30 minuti
1h; // 1 ora

Void

Usato per indicare che una funzione é in realtà una procedura, e quindi non ritorna nulla. Dato che una funzione per default non ritorna nulla, si può fare a meno di indicare che sia di tipo Void (e nota che il tipo é Void con la V maiuscola)

function printMe() : Void {
println("I don't return anything!");
}

null

Invece null si scrive con la n minuscola. Indica la mancanza di un valore normale per una determinata variabile.

Nessun commento:

Posta un commento