Home E-Books Effetti speciali e sviluppo giochi in Java Metodi,classi e riferimenti

Effetti speciali e sviluppo giochi in Java(TM) -Metodi,classi e riferimenti

di Anibal Wainstein (traduzione di Hanami Solutions)

1.3 Metodi, classi e riferimenti

Notate che la mia analisi della programmazione ad oggetti è adottata per i fini pratici in cui la vedo utile, pertanto non scriverò in merito alla teoria della programmazione ad oggetti strettamente intesa.

1.3.1 Metodi

Un metodo è una parte di codice Java code che viene eseguita solo quando viene chiamata (negli altri linguaggi sono equivalenti alle funzioni). Possono anche contenere dichiarazioni di variabili che siano valide solo entro detti metodi. Queste variabili sono quindi chiamate variabili locali. Un metodo viene definito dall'intestazione del metodo e da due parentesi graffe "}{":

public void myMethod()
{

}
Il termine public indica che il metodo può essere chiamato da altre classi, void indica che il metodo non restituisce un valore quando ha terminato l'esecuzione e "myMethod" è il nome del metodo. Si possono collocare variabili entro le parentesi () che debbano essere fornite dall'utente quando si invoca il metodo per metterlo in azione. Questa particolare funzione non è associata ad alcuna variabile. Un altro esempio:
public int yourMethod(int a, int b)
{
    a+=b;
    return a;
}
Se il metodo restituisce un qualche valore allora "return" deve essere sempre specificato. In questo particolare caso il metodo restituirà un numero intero int che è la somma delle variabili "a" e "b". La funzione viene chiamata come segue:
//Dichiariamo la variabile "result"
int result;
//"result" conterrà 
//il numero 3 dopo la chiamata
result = yourMethod(1,2);   
Un altro esempio:
private byte anotherMethod(int a)
{
    return ((byte) a);
}
Private indica che il metodo può essere usato solo entro la classe in cui è stato definito. Nella sezione return si possono effettuare calcoli seppure non sia esteticamente gradevole questo risulta in un codice sorgente più compatto (e quindi meno codice). In questo esempio effettuiamo un type cast sul numero intero "a" convertendolo a a byte e ne riportiamo il risultato. Il metodo viene chiamato in questa maniera:
//"a" conterrà 41
byte a = anotherMethod(1234217);
Questo tra l'altro è lo stesso che scrivere:
byte a; 
a = anotherMethod(1234217);

Quando convertite un numero intero a 32 bit in un byte allora rimangono solo gli ultimi 8 bits del numero (gli ultimi 8 bits di 1234217 danno il valore 41). Vi prego di notare che se non specificate un oggetto da restituire allora quel metodo viene chiamato costruttore. Deve avere lo stesso nome della classe e verrà invocato quando create un oggetto appartenente a quella classe. Un costruttore deve sempre essere dichiarato come pubblico:

public myklass(int a)
{
   a++
} 

Pagina seguente >>